问题是关于SQL查询。我有一个RootCause 1和一个RootCause 2列选项。用户选择主要RootCause,如果适用,他们会选择辅助RootCause以获得更详细的信息。我想找到/创建一个查询,允许我选择在RC1中为RootCause选择RC2中的Top 5 RootCausese。
答案 0 :(得分:2)
大多数数据库都支持ANSI标准row_number()
功能。您可以将此功能与聚合一起使用以获得所需内容:
select t.*
from (select rc1, rc2, count(*) as cnt,
row_number() over (partition by rc1 order by count(*) desc) as seqnum
from table t
group by rc1, rc2
) t
where seqnum <= 5;