我有一个名为items
的表格,其中有3列:id, user_id, item_name
。
我想选择并显示该表中提交项目最多的所有用户。
例如:
User-1 has 3 items,
User-2 has 8 items,
User-3 has 5 items,
User-4 has 8 items, and
User-5 has 8 items too.
根据我的需要,查询应输出User-2,User-4和User-5。
遗憾的是,我对MySQL的了解并不彻底,我不能自己完成。
非常感谢您的帮助。
编辑#1:
这是我尝试过但未输出所需结果的查询:
SELECT COUNT(id) AS total_count
, user_id
FROM ".DB_PREFIX."items
GROUP
BY user_id
显示所有用户及其提交的项目总数。正如我之前提到的,我需要所有顶级用户。
答案 0 :(得分:0)
E.g:
SELECT a.*
FROM
( SELECT user_id
, COUNT(*) total
FROM my_table
GROUP
BY user_id
) a
JOIN
( SELECT COUNT(*) total
FROM my_table
GROUP
BY user_id
ORDER
BY total DESC
LIMIT 1
) b
ON b.total = a.total;