gpt4 book ai didi

snowflake-cloud-data-platform - SQL 获取在两列上具有最大值的行

转载 作者:行者123 更新时间:2023-12-04 07:19:47 29 4
gpt4 key购买 nike

我在雪花有一张这样的 table 。它支持 ANSI SQL,所以如果您不熟悉这个数据库,请不要担心。


推销员
顾客
国家


棕色的
super 公司
英国

棕色的
另一个客户
英国

史密斯
康托索
我们

棕色的
测试公司
我们


我需要找到每个销售员的客户最多的地方。因此,查询所需的响应将是这样的。


推销员
国家
cnt(国家)


棕色的
英国
2

史密斯
我们
1


我想出了这个

SELECT
salesman,
country,
max(count(country))
FROM
customertable
GROUP BY
salesman, country
但不支持嵌套聚合函数。我已经阅读了很好的理由。但我只是找不到以任何其他方式做到这一点的方法。

最佳答案

QUALIFY可用于过滤每个 salesman 的最高值:

SELECT salesman,
country,
count(country) AS cnt
FROM customertable
GROUP BY salesman, country
QUALIFY RANK() OVER(PARTITION BY salesman ORDER BY cnt DESC) = 1

关于snowflake-cloud-data-platform - SQL 获取在两列上具有最大值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68577573/

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