SQL 分組排序語句


我們在生產實踐中經常會有這樣的需求:分組編號。

如下有一個城市區域表region:

我們需要對上表region按city分組,對region進行排序,得到如下結果:

具體sql如下:

1 select city,region, 
2 right('100'+row_number()over(partition by city order by region),2) as region_no 
3 from region

此方法主要是運用row_number()開窗函數通過對city進行分組后,再對region進行排序(默認按首字母拼音排序),最終得到我們想要的結果。

當然,還有一種方法同樣可以實現:

select city,region,
region_no=right(100+(select count(1)+1 from region where city=a.city and region<a.region),2)
from region a


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM