与大多数朋友一起前5名

0 sql sql-server sql-server-2005

嗨,我是SQL的新手,我正在试图弄清楚我将如何与大多数朋友(userId)获得前5名"乐队",这就是我所拥有的; 使用userId作为PK的usertbl然后是带有bandId作为PK的bandsTbl然后我有一个带有FK userId和bandId的表bandfriends.

bandfriends
userid | bandId
---------------
 1     | 1
 1     | 2
 1     | 3
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jam*_*Ide 5

SELECT TOP 5 bandId, fanCount
FROM 
    (SELECT bandId, COUNT(*) as fanCount
     FROM bandfriends
     GROUP BY bandId
     ORDER BY COUNT(*) DESC)
Run Code Online (Sandbox Code Playgroud)

您还可以选择在select语句中指定WITH TIES.看到这个这个.