日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL

發布時間:2023/12/2 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LEAD函數簡單點說,就是把下一行的某列數據提取到當前行來顯示,看示例更能解釋清楚,先看測試用腳本

DECLARE @TestData TABLE(

ID INT IDENTITY(1,1),

Department VARCHAR(20),

LastName VARCHAR(20),

Rate FLOAT

)

INSERT INTO @TestData(Department,LastName,Rate)

SELECT 'Document Control','Arifin',17.7885 UNION ALL

SELECT 'Document Control','Norred',16.8269 UNION ALL

SELECT 'Document Control','Kharatishvili',16.8269 UNION ALL

SELECT 'Information Services','Chai',10.25 UNION ALL

SELECT 'Information Services','Berge',10.25 UNION ALL

SELECT 'Information Services','Trenary',50.4808 UNION ALL

SELECT 'Information Services','Conroy',39.6635 UNION ALL

SELECT 'Information Services','Ajenstat',38.4615 UNION ALL

SELECT 'Information Services','Wilson',38.4615 UNION ALL

SELECT 'Information Services','Connelly',32.4519 UNION ALL

SELECT 'Information Services','Meyyappan',32.4519

SELECT * FROM @TestData

以上是原始數據,下邊應用LEAD函數,看下怎么把其它行的數據提取到當前行顯示的

可以看到,LEAD函數把ID為2的那一行的LastName值提取到第一行顯示為新列NEXTUser,就這么個功能

下邊這個是間隔兩行提取數據,就是把第三行的數據提取到當前行,其它行以次累推,看圖

這個函數一共接受三個參數,第一個是表達式,以上示例都使用的字段,還可以是其它有效的表達式,第二個參數是offset,即間隔多少行取數據,第三個是默認的間隔,即當沒有指定offset時以此為準

舉個例子,以上述代碼為例

LEAD(LastName,2,0)

當沒有指定那個2的時候,則以間隔0行為準,當有指定那個2的時候則間隔2行取數據,所以,往往第三個參數可以不指定,效果是一樣的,如下圖

與LEAD函數相對應的還有一個函數,LAG,看下圖效果

如上圖所示,這個函數是從上行取數據,其它間隔參數的意義一樣,LEAD是從下行取數據,TAG相反是上行取數據,寫到這里我就再想,如果指定負數,是不是就可以合并為一個函數了?試下想法:

報錯,offset參數不能為負,哥不作評論,,,The End

本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴

本文系統來源:php中文網

總結

以上是生活随笔為你收集整理的mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。