over不能單獨使用,要和分析函數:rank(),dense_rank(),row_number()等一塊兒使用。
其參數: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,則是在整個公司內進行排名。javascript
如下是我的看法:java
sql中的over函數和row_numbert()函數配合使用,可生成行號。可對某一列的值進行排序,對於相同值的數據行進行分組排序。sql
執行語句:select row_number() over(order by AID DESC) as rowid,* from bbide
原文來自: cnblog.com 瑞君
函數