分析函數(shù)分為函數(shù)部分和OVER分析語句部分。
函數(shù)部分就是常見的count()辱魁,sum()這些函數(shù)烟瞧,
over分析語句是定義一個作用域诗鸭,讓作用域分別進行函數(shù)計算。OVER()語句常用PARTITION BY和ORDER BY指定具體的定義域
舉個例子
假如一張BOOKVISIT_D表有每天用戶訪問圖書的記錄参滴,其中的字段RECORD_DAY,RECORD_HOUR,BOOK_ID分別表示訪問日期强岸,訪問小時,訪問的圖書編號砾赔。每一行表示記錄了一次訪問活動蝌箍。
RECORD_DAYBOOK_ID
201701011
201701012
201701012
201701013
201701023
當我們需要統(tǒng)計每本書每天被訪問了多少次時”┬模可以采用下列語句
SELECT?RECORD_DAY,BOOK_ID,COUNT(1)?OVER(PARTITION?BY?RECORD_DAY)?BOOK_COUNT
FROM ? ? BOOKVISIT_D
GROUP?BY??RECORD_DAY,BOOK_ID
可以得到如下結(jié)果:
RECORD_DAYBOOK_IDBOOK_COUNT
2017010111
2017010122
2017010131
2017010231
根據(jù)不同的需求可以換其他函數(shù)操作妓盲。
非常好用的技巧哈哈~