sql的over函數的作用和方法


over不能單獨使用,要和分析函數:rank(),dense_rank(),row_number(),ntile()(參考:https://www.cnblogs.com/shizhijie/p/9366247.html) 等一起使用。
其參數:over(partition by columnname1 order by columnname2)
  含義:按columname1指定的字段進行分組排序,或者說按字段columnname1的值進行分組排序。
  例如:employees表中,有兩個部門的記錄:department_id =10和20
select department_id,rank() over(partition by department_id order by salary) from employees就是指在部門10中進行薪水的排名,在部門20中進行薪水排名。如果是partition by org_id,則是在整個公司內進行排名。

以下是個人見解:

sql中的over函數和row_numbert()函數配合使用,可生成行號。可對某一列的值進行排序,對於相同值的數據行進行分組排序。

執行語句:select row_number() over(order by AID DESC) as rowid,* from bb


免責聲明!

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



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