1. 程式人生 > 其它 >Task5:SQL高階處理

Task5:SQL高階處理

技術標籤:sql基礎學習mysql

視窗函式

視窗函式也稱為OLAP函式。OLAP 是OnLine AnalyticalProcessing 的簡稱,意思是對資料庫資料進行實時分析處理。
示例程式碼:

<視窗函式> OVER ([PARTITION BY <列名>]
                     ORDER BY <排序用列名>)

PARTITON BY是用來分組,即選擇要看哪個視窗,類似於GROUP BY 子句的分組功能,但是PARTITION BY 子句並不具備GROUP BY 子句的彙總功能,並不會改變原始表中記錄的行數。

ORDER BY是用來排序,即決定視窗內,是按那種規則(欄位)來排序的。

專用視窗函式

RANK函式:計算排序時,如果存在相同位次的記錄,則會跳過之後的位次。
DENSE_RANK:同樣是計算排序,即使存在相同位次的記錄,也不會跳過之後的位次。
ROW_NUMBER函式:賦予唯一的連續位次

字串函式