首页 > 数据库 >Oracle group by over(partition by order by)相关

Oracle group by over(partition by order by)相关

时间:2022-11-14 17:35:45浏览次数:40  
标签:聚合 函数 over partition group order

快速理解:

group by 使用一个(多个)含重复数据的字段进行表数据合算(聚合),结果集展示聚合结果。

partition by 同样适用于含重复数据的一个(多个)字段,但是不进行聚合,只是在结果集相同的数据摆在一起。

例如:不用考虑原表是什么样的,这里展示结果集。

 

 

 

 

 结果集:可以看到,相同的KHBH被放置在了一起。

 

 

 此外多提一嘴,使用group by时,除了被视为分组对象的字段,其他字段要使用聚合函数。group by后多行缩为一行,如果没有聚合函数,将会无法将多行数据放入一行产生报错。

而partition by展示多行,因此不需要聚合函数,但是!必须使用order by!因为分完组必须确认顺序。原因是partition by是over()函数的内部语句,over()用于max()/min()/rank()/lead()/lag()等函数的条件描述,而这些函数一旦缺少排序将失去意义。(本来也是,你都不排序,你咋求最大最小,但是排序的字段你可以自行决定)

 

标签:聚合,函数,over,partition,group,order
From: https://www.cnblogs.com/halfgong/p/16889702.html

相关文章