如何在表中找到MOST行的用户 - mysql?

时间:2013-11-30 00:29:41

标签: mysql count

如果你有一个名为userID的列,你会用什么查询来查找该表中行数最多的userID?

谢谢

3 个答案:

答案 0 :(得分:2)

您可以使用COUNT,ORDER BY计算DESC并将结果限制为最高结果:

SELECT user_id, COUNT(*) 
FROM tableName
GROUP BY user_id
ORDER BY 2 DESC
LIMIT 1;

答案 1 :(得分:0)

select user_id, sum(1) as counter 
from TABLE 
group by user_id 
order by 2 desc 
limit 1

答案 2 :(得分:0)

这应该足以只获得一个用户,即使有多个用户共享最大行数:

SELECT user_id FROM table
GROUP BY user_id
ORDER BY COUNT(*) DESC
LIMIT 1

如果您需要返回所有匹配的用户:

SELECT user_id FROM table
GROUP BY user_id
HAVING COUNT(*) = (
  SELECT COUNT(*) FROM table
  GROUP BY user_id
  ORDER BY COUNT(*) DESC
  LIMIT 1
)