关于sql当中的groupby和partitionby的区别。今天在做⼀个实验的时候碰到了关于group by 和partition by 的区别,简单的总结⼀下。
实验的题⽬是,按照类型进⾏分组,然后对其⾦额进⾏累加。然后输出类型对应的⾦额总和:
SELECT TRANS_TYPE, SUM(TRANS_AMT) FROM UTTDB.UTT_TRANS_LOG GROUP BY TRANS_TYPE
这个输出的结果是按照不同的交易类型,然后对⾦额进⾏累加。
SELECT
groupby分组
TRANS_TYPE,
SUM(TRANS_AMT) OVER (PARTITION BY TRANS_TYPE ) AS sumcount
FROM
UTTDB.UTT_TRANS_LOG
这个是⽤ PARTITION BY进⾏分组,然后统计。他的运⾏结果如下:
我们可以看出他是对数据进⾏分组,然后累加求和,但是他不会去重,会把这个字段的所有的值都显⽰出来。
综上的这样额结果,group by 会分组统计,然后对字段的值去重操作。只显⽰唯⼀的类型。
⽽对于partition by 来说的话,他只是对要分组的字段分组,然后累加出来,对前⾯类型字段并不统⼀去重。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。