,)SQL>selectyear,region,profit,lag(profit,1)over(orderbyyear)as51xit_expfromtest;YEARREGIONPRO" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

oracle中LAG()和LEAD()等分析統計函數的使用方

系統 1867 0

LAG()和LEAD()統計函數能夠在一次查詢中取出同一字段的前N行的數據和后N行的值 。這樣的操作能夠使用對同樣表的表連接來實現,只是使用LAG和 LEAD有更高的效率。下面整理的LAG()和LEAD()樣例:

LAG(EXPRESSION,<OFFSET>,<DEFAULT>)
SQL> select year,region,profit ,lag (profit,1) over (order by year)? as 51xit_exp from test;
YEAR REGION????? PROFIT 51xit_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

LEAD(EXPRESION,<OFFSET>,<DEFAULT>)
SQL> select year,region,profit ,lead (profit,1) over (order by year)? 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 , lag (profit,1,0) over (PARTITION BY region order by year)??? as 51xit_exp from test;
YEAR REGION????? PROFIT 51xit_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

一SQL問題解答:
問題:
CREATE?? TABLE? ldy_temp_2
(
? 分局??? VARCHAR(255),
派出所??? VARCHAR(255) ,
證件類型??? VARCHAR(255) ,
證件號碼??? VARCHAR(255) ,
姓名??? VARCHAR(255) ,
性別??? VARCHAR(255) ,
行政區劃??? VARCHAR(255) ,
旅館名稱??? VARCHAR(255) ,
旅館地址??? VARCHAR(255) ,
房間號??? VARCHAR(255) ,
入住時間??? VARCHAR(255) ,
col012??? VARCHAR(255)
);

INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1234','ZHANGTAO','A','20100506');
INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1234','ZHANGTAO','A','20100507');
INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1234','ZHANGTAO','B','20100508');



INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1234','ZHANGTAO','A','20100509');
INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1235','ZZZZ','A','20100506');
INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1235','ZZZZ','B','20100507');
INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1235','ZZZZ','A','20100508');
INSERT INTO LDY_TEMP_2
(證件號碼,姓名,旅館名稱,入住時間)
VALUES('1235','ZZZZ','B','20100509');

建表語句和測試數據已經給出? 請問? 怎樣查找相鄰兩次入住旅館名稱不同的人;也就是說 一個人的證件號碼是123的話 那么這個人的信息依照入住時間排序后? 相鄰兩條數據的旅館名稱不能一樣 。

解答:
with temp_a as
(select
??????? t.證件號碼,
??????? t.旅館名稱,
??????? t.入住時間,
??????? lag(t.旅館名稱) over (partition by t.證件號碼 order by t.入住時間) as lagname
from ldy_temp_2 t)
select 證件號碼,姓名,旅館名稱,入住時間
from ldy_temp_2 a
where a.證件號碼 not in (select b.證件號碼 from temp_a b where? b.旅館名稱=b.lagname)


oracle中LAG()和LEAD()等分析統計函數的使用方法(統計月增長率)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 热灸灸这里只有精品 | 亚洲一区精品视频在线 | 9999毛片免费看 | 国产婷婷丁香久久综合 | 91亚洲精品一区二区自 | 久久精品女人毛片国产 | 亚洲福利精品一区二区三区 | 色哦色哦哦色天天综合 | 欧美理论片在线观看 | 特级理论片 | 欧美大尺度免费一级特黄 | 亚洲欧美另类日韩 | 亚洲第一红杏精品久久 | 日韩久久影院 | 国产免费成人在线视频 | 久久成人在线观看 | 国产精品久久久亚洲 | 日本精品网站 | 欧美成人丝袜视频在线观看 | 欧美性猛交xxxx免费看手交 | 国产欧美日韩中文久久 | 综合色吧 | 日日爽夜夜操 | 99久久免费国产香蕉麻豆 | 婷婷激情四月 | 久久穴 | 成人在线日韩 | 精品一区二区三区中文 | 久久毛片网站 | 久青草视频免费视频播放线路1 | 欧美久久久久久 | 久久综合中文字幕一区二区三区 | 亚洲天堂一区二区 | 国产小视频在线观看 | 久久综合香蕉久久久久久久 | 在线观看偷拍视频一区 | 奇米影视9999| 5060午夜一级毛片免费观看 | 毛片免费观看久久欧美 | 国产毛片一级 | 波多野结衣一区 |