我有这张桌子:
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(按计数器)。
任何人都可以帮助我吗? 感谢。
答案 0 :(得分:1)
select segmentID
from your_table
where subscriberID = 123
group by segmentID
order by sum(counter) desc
要获得仅3条记录,您必须限制结果。可能是top 3
或limit 3
或rownum <= 3
的数据库引擎。