MySQL数据库中最常出现的值
问题描述:
如何选择MySQL数据库中最常出现的值?假设我有一个num
场,与这些行:MySQL数据库中最常出现的值
1, 1, 3, 1, 1, 17, 12, 1, 3, 17, 3
如果我想找到的三个最频繁出现的值,1,3,和17,我怎么会去这样做(和得到一个计数)?
将正确的方法是SELECT UNIQUE
并为每个单独的值做一个计数?有没有更有效的方法?这似乎是大数据集失败。
感谢您的帮助!这是在PHP中,有一个MySQL数据库。
答
像这样的东西应该工作:
SELECT num, COUNT(num) AS ct
FROM yourtable
GROUP BY num
ORDER BY ct DESC
这由num
柱告诉MySQL组的结果。通过还选择COUNT(num)
作为为每个num
值找到的行数,然后我们可以发出ORDER BY
,其将根据num
每个值具有的行数来排序结果。
随着表中这样的值:
1, 1, 3, 1, 1, 17, 12, 1, 3, 17, 3
的结果将是:
num | ct
============
1 | 5
3 | 3
17 | 2
12 | 1
答
MySQL的食谱对generating frequency distributions一个部分,它基本上可以归结为类似
SELECT num, COUNT(num) AS occurrence
FROM table
GROUP BY num
什么是'ct'?解释你的所有代码? – Cyclone 2011-03-20 01:28:29
添加了一些解释 – jterrace 2011-03-20 01:30:49
那么给我的数据集的结果是什么呢? – Cyclone 2011-03-20 01:33:43