rank ( ) over ( [query_partition_clause] order_by_clause )
dense_rank ( ) over ( [query_partition_clause] order_by_clause )
可實現按指定的字段進行分組,然後按照另乙個欄位在分組內進行排序,其中partition by 為分組字段,order by 指定排序字段。over不能單獨使用,要和分析函式:rank(),dense_rank(),row_number()等一起使用。其引數:over(partition by columnname1 order by columnname2)。
含義:按columname1指定的字段進行分組,然後在分組的基礎之上按照columnname2欄位在分組內進行排序。
例如:emp表中,有三個個部門的記錄:deptno分別為10、20和30。以下sql
就是指在部門10、20和30三個部門中按照薪水進行排序。
同時需要注意rank()、dense_rank()和row_number()的區別:
例如如下dense_rank和上面rank()語句結果的區別:
對於row_number()結果如下:
同時over語句也可以和sum()語句一起使用,不同的over()語句代表不同的求和方式。還以emp表為例:
select deptno,sal,sum(sal) over() 總和,sum(sal) over(order by sal) 連續求和 from emp
select deptno,sal,sum(sal) over(partition by deptno) 部門總和,sum(sal) over(partition by deptno order by sal) 部門連續求和 from emp
linux fork 函式學習
分類 專業學習 include include include int main case 0 default printf n d n n return 0 輸出結果1 fork child i am child parent i am parent parent getpid 4496 pare...
RecalcLayout 函式學習
1 它是用來將 dialogbar等可浮動的東西安排位置 處理和view frame之間的位置關係的,例如你直接用m wnd showwindow wm hide 隱藏了工具條,那就最好呼叫這個函式重新安排一下剩下的bar和view之間的位置 2 recalclayout是cframewnd定義的虛...
htonl 函式學習
今天在網上看到一篇關於htonl 函式的解釋,感覺有道理,貼過來大家一起學習 htonl就是把本機位元組順序轉化為網路位元組順序 h host 本地主機 to 就是to 了 n net 網路的意思 l 是 unsigned long 所謂網路位元組順序 大尾順序 就是指乙個數在記憶體中儲存的時候 高...