0

私は(ショート)のようなユーザーテーブルを持っています:

id (BIGINT)
username (VARCHAR)
recommendedByUserId (BIGINT)

recommendedByUserIdレコメンダーの ID には、レコメンダーの値が格納されますusers.id

users.id次に、それぞれが何回入っているかを知りusers.recommendedByUserId、それらを降順に並べ替える必要があります。これにより、推奨事項が最も多いユーザーが結果の一番上に表示されます。

私は試した:

SELECT u.username, COUNT(r.id) FROM users u INNER JOIN users r ON u.id = r.recommendedByUserId

しかし、それは機能しません。

4

2 に答える 2

1
SELECT recommendedByUserId, COUNT(*) as cnt
FROM users us 
group by recommendedByUserId order by cnt desc;
于 2013-09-16T10:42:09.200 に答える