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

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

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

系統 2115 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條評論
主站蜘蛛池模板: 午夜伦y4480影院中文字幕 | 九九九九热 | 5g影院天天5g天天爽精品 | 国产免费播放 | 九九伊人网 | 亚洲欧美日韩高清 | 国产精品天天操 | 久久99精品久久只有精品 | 亚洲看片| 久久国产成人亚洲精品影院老金 | 日韩毛片基地一区二区三区 | 羞羞网站在线免费观看 | 日本在线视频毛片 | 亚洲伦理视频 | 国产精品视频久久久久 | 黄黄视频免费看 | 久久精品操| 亚洲乱码国产乱码精品精98 | 波多野吉衣一区二区三区四区 | 日韩毛片基地一区二区三区 | 欧美成人剧情中文字幕 | 亚洲 欧美 日韩 综合 | 在线日本中文字幕 | 亚洲性生活视频 | 久久婷婷一区二区三区 | 在线精品欧美 | 大学生一级毛片免费看真人 | 中文字幕色综合久久 | 99在线国产 | 精品一区二区三区中文字幕 | 色中色综合 | 亚洲免费播放 | 国产成人久久精品二区三区牛 | 国产羞羞视频在线播放 | 四虎4hutv永久地址公告 | 美女嗯啊| 中国一级毛片欧美一级毛片 | 全黄一级裸片视频免费 | 欧美成人小视频 | 亚洲热热久久九九精品 | 亚洲乱码国产乱码精品精98 |