1

私は現在、この構造のテーブルを持っています:

ここに画像の説明を入力してください

エントリ数に応じてテーブルから上位3つ を選択できるようにしたいuser_idので、テーブル内で最も多くの行を持つ3人のユーザー。(下のスクリーンショットでは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

どうですか:

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 をカウントします (そして、出力見出し "Number-of-entries" を与えます)。GROUP BY は、すべての user_id を一度だけ表示します。ORDER BY DESC は、エントリ数の多いものから順に結果を出力します。LIMIT 3 は、最初の 3 つの結果のみを表示します。

于 2013-01-18T11:32:14.217 に答える
0

これを試してください Select Top n Records Predicate Example

于 2013-01-18T09:14:19.333 に答える