フォロワーが最も多い上位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のユーザー..。
SELECT `follow_id`, COUNT(1) AS `followers`
FROM `tbl`
GROUP BY `follow_id`
ORDER BY COUNT(1) DESC
LIMIT 10;
MySQLのGROUP BY集計関数を使いたい
SELECT user_id, COUNT(follow_id) AS total_followers
FROM users
GROUP BY follow_id
ORDER BY total_followers LIMIT 10;
SELECT follow_id,count(id) AS cnt FROM table
GROUP BY follow_id ORDER BY cnt DESC LIMIT 10
使用できます
SELECT user_id , COUNT(id) AS count FROM tbl GROUP BY follow_id ORDER BY count DESC LIMIT 10;
結果を 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
次のようなことを試してください:
select follow_id
from myTable
group by follow_id
order by count(user_id)
Limit 10
SELECT follow_id,
COUNT(user_id) AS number_of_followers
FROM table
GROUP BY follow_id
ORDER BY number_of_followers DESC
LIMIT 10;