SQL Count by equal columns Query

时间:2014-04-05 12:09:12

标签: sql count

我有这张桌子:

subscriberID | date | segmentID | Counter
------------------------------------------
1            | 1.1  |    2      |    3 
1            | 2.1  |    4      |    2 
1            | 3.1  |    4      |    5 
2            | 1.1  |    1      |    12 
2            | 2.1  |    1      |    1
2            | 3.1  |    2      |    10 
3            | 1.1  |    2      |    4

我必须编写SQL Query:

获取给定订户ID的前3个最常见的segmentID(按计数器)。

任何人都可以帮助我吗? 感谢。

1 个答案:

答案 0 :(得分:1)

select segmentID
from your_table
where subscriberID = 123
group by segmentID
order by sum(counter) desc

要获得仅3条记录,您必须限制结果。可能是top 3limit 3rownum <= 3的数据库引擎。