SQL中窗口函數row_number()使用方法


row_number語法

row_number()函數將針對SELECT語句返回的每一行,從1開始編號,賦予其連續的編號。在查詢時應用了一個排序標准后,只有通過編號才能夠保證其順序是一致的,當使用row_number函數時,也需要專門一列用於預先排序以便進行編號。

partition by關鍵字是分析性函數的一部分,它和聚合函數不同的地方在於它能返回一個分組的多條記錄,而聚合函數一般只有一條反映統計值的記錄,partition by 用於給結果集分組,如果沒有指定那么它把整個結果作為一個分組,分區函數一般與排名函數一起使用。

原始表score:

s_id是學生編號,c_id是課程編號,s_score是成績

 

 1.要求得出每門課程的學生成績排序(升序)

----因為是每門課程的結果,並且要排序,所以用row_number

select *, row_number() over (partition by c_id order by s_score) from score;


免責聲明!

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



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