如何在表中获取具有出现次数(频率)的行

时间:2014-05-28 11:53:39

标签: sql sql-server tsql

我的数据库表有这种类型的数据

表名:日志

ID  ALBUMID GENREID
1   1005    5
1   1008    5
1   1006    4
1   1005    5
1   1007    5
1   1007    4
1   1008    5
1   1008    5
1   1005    5
1   1005    4
1   1005    5

我期待的结果是获得 - 具有最大频率的GenreId 5的频率计数的前2个专辑ID。

结果:

AlbumId Frequency
1005      4
1008      3

这里是SQL Fiddle Link http://sqlfiddle.com/#!6/aaa9e/13

1 个答案:

答案 0 :(得分:6)

请尝试:

select top 2 ALBUMID, COUNT(*) Frequency
from tbl
where GENREID=5
group by ALBUMID 
order by 2 desc