我有下表:
Keyword_name Conference_name
------------|-------------
value1 | conference1
value1 | conference1
value2 | conference1
value3 | conference1
value2 | conference2
value1 | conference3
.........................
现在,我想找到每个会议的关键字的最大发生。我该怎么做?
期望的结果应该如下所示:
Conference_name | Keyword_maximum_occurrence
conference1 | value1
conference2 | value2
最佳答案
试试这个:
select
conference_name,
keyword_name
from (
select
conference_name,
keyword_name,
rank() over (partition by conference_name order by count(*) desc) rnk
from your_table
group by
conference_name,
keyword_name
) t where rnk = 1;
它根据会议名称中相同关键字的出现次数分配排名,然后筛选以获取排名靠前的行。
演示@RexTester
关于sql - 根据SQL中的另一列查找列值的最大出现次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41814116/