データベースに「Records」テーブルがあり、「username」列にレコードを持つユーザーの名前が格納されています。レコード数が最も多いユーザーを取得したい。私が持っている唯一のアイデアは、各ユーザーのレコード数を取得し、その中で最大の数を見つけるメソッドを構築することです。これを行うためのSQLクエリまたはより単純な方法はありますか?ありがとうございました。
質問する
590 次
4 に答える
8
select username, count(*)
from Records
group by username
order by count(*) desc
limit 1
于 2013-01-22T19:28:03.660 に答える
2
select username, count(*) As no_of_records
from Records
group by username
order by no_of_records desc
上記のクエリは、降順がnoのすべての行を提供します。LIMIT
ユーザーのレコードの数と、任意の数の制限に対して、キーワードの後に数字を使用できます
にとって。例:最高LIMIT 1
トップ2LIMIT 2
など
于 2013-01-22T19:31:41.383 に答える
2
別の方法
select username
from records
having count(*) =
(SELECT max(count(*)) FROM records group by username)
group by username
于 2013-01-22T19:53:18.777 に答える
1
これを試して
SELECT username, sum(record) total_record
FROM Records
GROUP BY username
ORDER BY count(*) desc
編集 :
**最初の最高値だけを取得したい場合は、LIMIT1を実行します
select username, sum(record) total_record
from Records
group by username
order by count(*) desc
limit 1
于 2013-01-22T19:34:33.057 に答える