从MySQL中的字段中选择最常见的值

dik*_*era 30 mysql

我有一个包含一百万行的表,如何从一个字段中选择最常见的(表中最多的值)值?

Jon*_*Jon 82

您需要按兴趣列进行分组,并为每个值选择值本身及其显示的行数.

然后是排序(将最常见的值放在第一位)并将结果限制为只有一行.

在查询表格中:

SELECT column, COUNT(*) AS magnitude 
FROM table 
GROUP BY column 
ORDER BY magnitude DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)


Boj*_*les 21

这个帖子应该解决你的问题.

基本上,使用COUNT()一个GROUP BY条款:

SELECT foo, COUNT(foo) AS fooCount 
FROM table
GROUP BY foo
ORDER BY COUNT(foo) DESC
Run Code Online (Sandbox Code Playgroud)

并且只获得第一个结果(最常见),添加

LIMIT 1
Run Code Online (Sandbox Code Playgroud)

到查询结束.


Phi*_*lip 6

如果您不需要返回最常用值的频率,您可以使用:

SELECT foo
FROM table
GROUP BY foo
ORDER BY COUNT(foo) DESC
LIMIT 1 
Run Code Online (Sandbox Code Playgroud)

这具有仅返回一列并因此在子查询中工作的额外好处.