Q&A for professional and enthusiast programmers
Select Top 10 1 As [Order], 'Gold' As Label, UserId As [User Link], Count(*) As Num From (Select UserId From Badges Where Name In (Select TagName from Tags) Group By UserId, Name Having Count(*)>=3) d Group By UserId union all Select Top 10 2, 'Silver' As Label, UserId As [User Link], Count(*) As Num From (Select UserId From Badges Where Name In (Select TagName from Tags) Group By UserId, Name Having Count(*)>=2) d Group By UserId union all Select Top 10 3, 'Bronze' As Label, UserId As [User Link], Count(*) As Num From (Select UserId From Badges Where Name In (Select TagName from Tags) Group By UserId, Name Having Count(*)>=1) d Group By UserId Order By [Order], Num Desc