gpt4 book ai didi

sql - 在 Redshift 中按类别选择 n 个最大计数

转载 作者:行者123 更新时间:2023-12-01 22:16:27 27 4
gpt4 key购买 nike

我想在表格中为每组选择 X 个最常见的配对。让我们考虑下表:

+-------------+-----------+
| identifier | city |
+-------------+-----------+
| AB | Seattle |
| AC | Seattle |
| AC | Seattle |
| AB | Seattle |
| AD | Seattle |
| AB | Chicago |
| AB | Chicago |
| AD | Chicago |
| AD | Chicago |
| BC | Chicago |
+-------------+-----------+
  • 西雅图,AB 出现 2 次
  • 西雅图,AC 发生 2 次
  • 西雅图,AD 发生 1 次
  • 芝加哥,AB 出现 2 次
  • 芝加哥,AD 发生 2 次
  • 芝加哥,BC 发生 1 次

如果我想为每个城市选择 2 个最常见的,结果应该是:

+-------------+-----------+
| identifier | city |
+-------------+-----------+
| AB | Seattle |
| AC | Seattle |
| AB | Chicago |
| AD | Chicago |
+-------------+-----------+

感谢任何帮助。谢谢,本尼

最佳答案

您可以在行号中使用count来排序每个城市组合出现的次数,并选择前两个。

select city,identifier 
from (
select city,identifier
,row_number() over(partition by city order by count(*) desc,identifier) as rnum_cnt
from tbl
group by city,identifier
) t
where rnum_cnt<=2

关于sql - 在 Redshift 中按类别选择 n 个最大计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363055/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com