如果你有一个名为userID的列,你会用什么查询来查找该表中行数最多的userID?
谢谢
答案 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
)