4

フォロワーが最も多い上位10人を選択するには、MySQLのSQLクエリが必要です

私のテーブル

id | user_id | follow_id
1 3 6
2 3 7
3 4 6
4 5 6
5 7 3
6 9 7

ID 6のユーザーの例から、3回のフォロー、7->2および3->1があるため、TOP10は次のようになります。

IDが6,7,3のユーザー..。

4

7 に答える 7

8
SELECT `follow_id`, COUNT(1) AS `followers`
FROM  `tbl`
GROUP BY `follow_id`
ORDER BY COUNT(1) DESC
LIMIT 10;
于 2012-07-20T12:02:16.243 に答える
3

MySQLのGROUP BY集計関数を使いたい

SELECT user_id, COUNT(follow_id) AS total_followers
FROM users 
GROUP BY follow_id 
ORDER BY total_followers LIMIT 10;
于 2012-07-20T12:01:16.760 に答える
2
SELECT follow_id,count(id) AS cnt FROM table 
GROUP BY follow_id ORDER BY cnt DESC  LIMIT 10
于 2012-07-20T12:02:32.160 に答える
2

使用できます

SELECT user_id , COUNT(id) AS count FROM tbl GROUP BY follow_id ORDER BY count DESC LIMIT 10;
于 2012-07-20T12:04:11.153 に答える
2

結果を follow_id でグループ化し、このグループに含まれる結果の数を数え、これをグループごとの結果数で降順で並べ替え、10 個の結果のみに制限するように定義する必要があります。 LIMIT 0,10 を使用

次のクエリは、MySQL 5 で完全に機能します。

SELECT follow_id, COUNT(follow_id) AS nr
FROM test.testtable
GROUP BY follow_id
ORDER BY nr DESC
LIMIT 0,10 
于 2012-07-20T12:17:50.320 に答える
1

次のようなことを試してください:

select follow_id
from myTable
group by follow_id
order by count(user_id)
Limit 10
于 2012-07-20T12:02:49.287 に答える
0
SELECT    follow_id,
          COUNT(user_id) AS number_of_followers
    FROM  table
    GROUP BY follow_id
    ORDER BY number_of_followers DESC
    LIMIT 10;
于 2012-07-20T11:59:40.803 に答える