1

我目前有一个这种结构的表:

在此处输入图像描述

我希望能够根据条目的数量从表中选择前 3 user_id个,因此表中行数最多的三个用户。(它仅在下面的屏幕截图中显示 id 为 111 的用户,但该表中显然还有更多条目)。有没有人有什么建议?

4

5 回答 5

5

试试这个:

select user_id,count(user_id) as cnt from table
group by user_id
order by cnt desc
limit 0,3;
于 2013-01-18T09:03:40.467 回答
1
select user_id, count(*) from table group by user_id order by count(*) desc limit 0,3
于 2013-01-18T09:05:12.997 回答
0

试试这个查询,按用户 ID 分组,按最高条目排序并将结果限制为前 3 个结果。

select user_id, count(sickness_submission_id) as entries from <table Name> group by user_id order by entries  desc limit 0, 3;
于 2013-01-18T09:05:12.010 回答
0

试试这个选择前 n 条记录谓词示例

于 2013-01-18T09:14:19.333 回答
0

怎么样:

SELECT COUNT(user_id) AS Number-of-entries, user_id FROM table GROUP BY user_id ORDER BY count(user_id) DESC LIMIT 3;

细分: COUNT(user_id) 计算所有 user_id(并为其提供输出标题“条目数”)。GROUP BY 只显示每个 user_id 一次。ORDER BY DESC 打印带有条目数的结果,从多到少。LIMIT 3 仅显示前三个结果。

于 2013-01-18T11:32:14.217 回答