使用LAG和LEAD函式統計
Lag和Lead函式可以在一次查詢中取出同一欄位的前N行的資料和後N行的值。這種操作可以使用對相同表的表連線來實現,不過使用LAG和LEAD有更高的效率。以下是LAG和LEAD的例子:
SQL> select year,region,profit ,lag (profit,1) over (order by year)
2 as last_year_exp from test;
YEAR REGION PROFIT LAST_YEAR_EXP
---- ------- ---------- -------------
2003 West 88
2003 West 88 88
2003 Central 101 88
2003 Central 100 101
2003 East 102 100
2004 West 77 102
2004 East 103 77
2004 West 89 103
SQL> select year,region,profit ,lead (profit,1) over (order by year)
2 as next_year_exp from test;
YEAR REGION PROFIT NEXT_YEAR_EXP
---- ------- ---------- -------------
2003 West 88 88
2003 West 88 101
2003 Central 101 100
2003 Central 100 102
2003 East 102 77
2004 West 77 103
2004 East 103 89
2004 West 89
Lag函式為Lag(exp,N,defval),defval是當該函式無值可用的情況下返回的值。Lead函式的用法類似。
Lead和Lag函式也可以使用分組,以下是使用region分組的例子:
SQL> select year,region,profit ,
2 lag (profit,1,0) over (PARTITION BY region order by year)
3 as last_year_exp from test;
YEAR REGION PROFIT LAST_YEAR_EXP
---- ------- ---------- -------------
2003 Central 101 0
2003 Central 100 101
2003 East 102 0
2004 East 103 102
2003 West 88 0
2003 West 88 88
2004 West 77 88
2004 West 89 77
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9907339/viewspace-1054890/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- lead和lag函式函式
- lag和lead函式函式
- oracle函式之lag和leadOracle函式
- oracle中lead和lag函式Oracle函式
- ORALCE函式:LAG()和LEAD() 分析函式詳解函式
- 【分析函式】Oracle分析函式之LAG和LEAD函式Oracle
- oracle之函式LAG,LEADOracle函式
- oracle中LAG()和LEAD()等分析統計函式的用法(統計月增長率)Oracle函式
- mysql實現oracle的lead和lag函式功能MySqlOracle函式
- oracle lag與lead分析函式簡介Oracle函式
- Oracle分析函式之LEAD和LAG實際應用Oracle函式
- Hive 分析函式lead、lag例項應用Hive函式
- [Oracle]高效的SQL語句之分析函式(四)--lag()/lead()OracleSQL函式
- 分析函式 - LAG函式
- lead lag rank()over()dense_rank()row_number()over()rollupcube幾大分析函式函式
- 關於lag函式的用法函式
- 【STAT】函式索引和使用表示式統計資訊有什麼不同函式索引
- Oracle分析函式RANK(),ROW_NUMBER(),LAG()等的使用方法(轉)Oracle函式
- 分析函式——統計函式
- 不使用分析函式的累計統計查詢函式
- 【SQL】Lag/Rank/Over視窗函式揭秘,資料分析之旅SQL函式
- Oracle 分組彙總統計函式的使用Oracle函式
- oracle 統計分析函式Oracle函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- Oracle分析函式、多維函式和Model函式簡要說明,主要針對BI報表統計Oracle函式
- SQL Server日期計算(使用DATEADD和DATEDIFF函式)SQLServer函式
- 【筆記】oracle 統計函式筆記Oracle函式
- 分析函式之排名統計函式
- 函式式思維和函數語言程式設計函式函數程式設計
- linux系統程式設計:setjmp和longjmp函式用法Linux程式設計函式
- 學習PHP中統計擴充套件函式的使用PHP套件函式
- 使用ASM框架實現統計函式執行時間ASM框架函式
- 如何使用SAP Analytics Cloud統計C4C系統每天新建的Lead個數和預測趨勢Cloud
- Lesson17——NumPy 統計函式函式
- 留存統計 引數聚合函式函式
- setjmp 和 longjmp 函式使用詳解函式
- linux系統程式設計之程式(七):system()函式使用Linux程式設計函式
- 深入理解箭頭函式和傳統函式的區別函式