gpt4 book ai didi

SQL:PARTITION BY 和 GROUP BY 之间的区别

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

多年来我一直使用GROUP BY来处理所有类型的聚合查询。最近,我一直在对一些使用 PARTITION BY 执行聚合的代码进行逆向工程。

在阅读我能找到的有关 PARTITION BY 的所有文档时,它听起来很像 GROUP BY,也许添加了一些额外的功能。

它们是具有相同一般功能的两个版本还是完全不同的东西?

最佳答案

它们用于不同的地方。 GROUP BY 修改整个查询,例如:

select customerId, count(*) as orderCount
from Orders
group by customerId

但是PARTITION BY仅适用于window function ,例如 ROW_NUMBER() :

select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
  • GROUP BY 通常会减少滚动返回的行数将它们汇总并计算每行的平均值或总和。
  • PARTITION BY 不影响返回的行数,但它更改窗口函数结果的计算方式。

关于SQL:PARTITION BY 和 GROUP BY 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2404565/

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