我有一个拥有一百万行的表格,如何从一个字段中选择最常见的值(即在该表格中出现次数最多的值)?
我有一个拥有一百万行的表格,如何从一个字段中选择最常见的值(即在该表格中出现次数最多的值)?
你需要按照感兴趣的列进行分组,并对于每个值,选择该值本身和它出现的行数。
然后就是排序(将最常见的值放在第一位)并将结果限制为仅一行。
用查询语句表示:
SELECT column, COUNT(*) AS magnitude
FROM table
GROUP BY column
ORDER BY magnitude DESC
LIMIT 1
这个帖子 可以解决您的问题。
基本上,使用带有 GROUP BY
子句的 COUNT()
函数:
SELECT foo, COUNT(foo) AS fooCount
FROM table
GROUP BY foo
ORDER BY fooCount DESC
而要仅获取第一个结果(最常见的),请添加
LIMIT 1
到你的查询的末尾。
ORDER BY fooCount DESC
。 - sMyles如果您不需要返回最常见值的频率,可以使用以下方法:
SELECT foo
FROM table
GROUP BY foo
ORDER BY COUNT(foo) DESC
LIMIT 1