over partition by与group by 的区别
生活随笔
收集整理的這篇文章主要介紹了
over partition by与group by 的区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
遇到這么一個(gè)需求,需要根據(jù)分類為數(shù)據(jù)庫(kù)記錄添加排序行,就像一個(gè)客戶有多個(gè)訂單,每個(gè)訂單有若干產(chǎn)品,需要給每個(gè)訂單的產(chǎn)品明細(xì)做一個(gè)默認(rèn)排序。
通過學(xué)習(xí) PARTITION BY 解決了問題:
update brands set orderindex=a.row1from (select row_number() over(PARTITION BY cate.id order by cate.createdate) row1,cate.name,b2.name as bname,b2.customcategoryid,b2.id as brandid from brands b1 inner join customcategory cate on b1.id=cate.brandidinner join brands b2 on cate.id=b2.customcategoryidwhere b1.id='ab209c03-ecf7-49c2-af0f-62c66e82d412') awhere brands.id=a.brandidpartition by與group by都是分組,究竟有何具體的區(qū)別呢?
group by我們平時(shí)用的比較多,經(jīng)常與聚合函數(shù)比如:Sum() Max() Min() Count() Avg()等一起使用。group by 就是對(duì)結(jié)果進(jìn)行單純分組計(jì)算,?group by更強(qiáng)調(diào)的是一個(gè)整體,就是組,只能顯示一個(gè)組里滿足聚合函數(shù)的一條記錄。
partition by 在整體后更強(qiáng)調(diào)個(gè)體,能顯示組里所有個(gè)體的記錄。用于給結(jié)果集分組。
轉(zhuǎn)載于:https://www.cnblogs.com/chenxizhaolu/p/8718433.html
總結(jié)
以上是生活随笔為你收集整理的over partition by与group by 的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【面向对象设计与构造】第一次博客作业
- 下一篇: nyoj 探寻宝藏