成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server這兩個高級函數的用法,你學會了嗎?

運維 數據庫運維
這兩個函數可以把之前要關聯查詢的方法,改為可直接獲取當前數據上下相鄰多少行數據,可以很方便的對上下相鄰兩行的數據進行加減乘除。今天我們就給大家介紹一下這兩個函數的用法。

[[316397]]

SQL Server從2012版本開始,引入了LEAD和LAG函數,這兩個函數可以把之前要關聯查詢的方法,改為可直接獲取當前數據上下相鄰多少行數據,可以很方便的對上下相鄰兩行的數據進行加減乘除。今天我們就給大家介紹一下這兩個函數的用法。

LAG函數

LAG的作用

LAG 以當前行之前的給定物理偏移量來提供對行的訪問。 在 SELECT 語句中使用此分析函數可將當前行中的值與先前行中的值進行比較。

LAG的語法

LAG (scalar_expression [,offset] [,default])      OVER ( [ partition_by_clause ] order_by_clause )

參數解釋

scalar_expression

要根據指定偏移量返回的值。 這是一個返回單個(標量)值的任何類型的表達式。scalar_expression 不能為分析函數。

offset

當前行(從中獲得取值)后的行數。 如果未指定,則默認值為 1。 

OVER

為開窗函數,LAG函數必須與開窗函數一起使用。

LAG示例 

  1. WITH T AS  
  2.  
  3. SELECT 1 ID,10 NUM  
  4. UNION ALL  
  5. SELECT 1,20  
  6. UNION ALL  
  7. SELECT 1,30  
  8. UNION ALL  
  9. SELECT 2,40  
  10. UNION ALL  
  11. SELECT 2,50  
  12. UNION ALL  
  13. SELECT 2,60  
  14.  
  15. SELECT ID,NUM,  
  16. LAG(NUM) OVER (PARTITION BY ID ORDER BY NUM) AS OneArgs,  
  17. LAG(NUM,1) OVER (PARTITION BY ID ORDER BY NUM) AS TowArgs,  
  18. LAG(NUM,2,0) OVER (PARTITION BY ID ORDER BY NUM) AS ThressArgs  
  19. FROM T 

(提示:可以左右移動代碼)

結果如下:

從上面的示例中我們可以看到

1、針對列OneArgs,組內的NUM列的值默認向后偏移了一行,每組的第一行用默認的NULL來代替

2、針對TowArgs,使用了2個參數顯示的偏移行,NUM的值也是向后偏移一行。

3、針對ThreeArgs,不僅使用了顯示的偏移2行,而且第三個參數將偏移后默認值NULL改成了0

實戰例子:如何求解組內上下兩行的和? 

  1. SELECT ID,NUM,  
  2. NUM+LAG(NUM,1,0) OVER (PARTITION BY ID ORDER BY NUM) AS Result  
  3. FROM T 

結果如下:

注意:第一行因為默認是0,所以每組第一行的結果是NUM+0=NUM

LEAD函數

LEAD函數與LAG函數剛剛相反,它是向前偏移指定的行數,默認是1行。

語法哈參數與LAG類似,這里就不重復介紹了。我們直接看示例: 

  1. SELECT ID,NUM,  
  2. LEAD(NUM) OVER (PARTITION BY ID ORDER BY NUM) AS OneArgs,  
  3. LEAD(NUM,1) OVER (PARTITION BY ID ORDER BY NUM) AS TowArgs,  
  4. LEAD(NUM,2,0) OVER (PARTITION BY ID ORDER BY NUM) AS ThressArgs  
  5. FROM T 

結果:

使用情況與LAG函數類似,只是組內數據分別向前偏移了指定行數。

實戰示例:求解同組內上下兩行的差? 

  1. SELECT ID,NUM,  
  2. LEAD(NUM,1,0) OVER (PARTITION BY ID ORDER BY NUM)-NUM AS Result  
  3. FROM T 

結果:

每組最后一行默認是0,所以0-NUM=-NUM

以上就是這兩個函數的相關用法。 

 

責任編輯:龐桂玉 來源: 數據庫開發
相關推薦

2022-12-06 08:37:43

2023-09-06 11:31:24

MERGE用法SQL

2022-07-13 08:16:49

RocketMQRPC日志

2024-06-12 08:36:25

2023-11-08 10:12:40

架構函數元素

2023-08-08 08:23:08

Spring日志?線程池

2022-04-13 09:01:45

SASSCSS處理器

2023-10-13 09:04:09

2022-09-29 08:32:14

查詢語句OR

2022-09-16 07:24:12

Python 的四舍

2022-07-08 09:27:48

CSSIFC模型

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構

2024-02-02 11:03:11

React數據Ref

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2023-07-03 07:20:50

2023-12-27 09:32:47

SQL語句數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲人成人一区二区在线观看 | 久久高潮 | 91久操视频| 99视频网站 | 欧美不卡网站 | 日韩午夜网站 | 日韩一区二区av | av在线播放国产 | 羞羞视频在线免费 | 日韩中文一区 | 亚洲精品黄色 | 国产精品毛片一区二区三区 | 国产日韩欧美一区二区在线播放 | 日韩精品一区二区三区高清免费 | 国产精品一区二区视频 | 一区二区三区视频免费看 | 亚洲一区av | 亚洲高清网 | 一级电影免费看 | 伊人伊人 | 亚洲男人天堂 | 日韩在线免费观看视频 | 亚洲精品一区二区三区中文字幕 | 成人精品 | 黄色av网站在线观看 | 国产高清视频在线 | com.国产 | 日韩精品成人av | 在线看亚洲 | 欧美日韩精品免费观看 | 偷拍自拍第一页 | 91国内精精品久久久久久婷婷 | 国产精品射 | 欧美xxxx日本 | 久久精品aaa | 欧美日日 | 国产97视频在线观看 | 国产高清一区二区三区 | 欧美成人久久 | 亚洲国产精久久久久久久 | 精品无码久久久久久久动漫 |