获取最多记录数的用户

时间:2013-01-22 19:27:10

标签: java mysql sql jpa

我的数据库中有一个“记录”表和一个“用户名”列,其中我存储了具有该记录的用户的名称。我想让用户拥有最多的记录。我唯一的想法是构建一个方法来获取每个用户的记录数,然后找到其中最大的数字。 是否有任何SQL查询来执行此操作或更简单的方法? 谢谢。

4 个答案:

答案 0 :(得分:6)

select username, count(*)
from Records
group by username
order by count(*) desc
limit 1

答案 1 :(得分:2)

select username, count(*) As no_of_records
from Records
group by username
order by no_of_records desc

上面的查询将为所有行提供no的降序。对于用户的记录和任何数量的限制,您可以使用LIMIT关键字后跟数字

有关。例如,最高LIMIT 1

代表前2 LIMIT 2

答案 2 :(得分:2)

另一种方式

select username
from records
having count(*) = 
    (SELECT max(count(*)) FROM records group by username)
group by username

答案 3 :(得分:1)

试试这个

  SELECT username, sum(record) total_record
  FROM Records
  GROUP BY username
  ORDER BY count(*) desc  

编辑:

DEMO SQLFIDLE

**如果你想得到第一个最高,请做LIMIT 1

 select username, sum(record) total_record
 from Records
 group by username
 order by count(*) desc
 limit 1

demo here