欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MYSQL LAG()與LEAD()的區(qū)別

 更新時間:2023年05月16日 10:30:21   作者:螞蟻*漫步  
MYSQL LAG()與LEAD()這兩個函數(shù)是偏移量函數(shù),可以查出一個字段的前面N個值或者后面N個值,本文詳細的介紹一下這兩個函數(shù)的區(qū)別,感興趣的可以了解一下

這兩個函數(shù)是偏移量函數(shù),可以查出一個字段的前面N個值或者后面N個值,配合over來使用。

下面舉例說明,新建表格如下:

drop table if exists exam_record;
CREATE TABLE exam_record (
    id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
    uid int NOT NULL COMMENT '用戶ID',
    exam_id int NOT NULL COMMENT '試卷ID',
    start_time datetime NOT NULL COMMENT '開始時間',
    submit_time datetime COMMENT '提交時間',
    score tinyint COMMENT '得分'
)CHARACTER SET utf8 COLLATE utf8_general_ci;
INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES
(1001, 9001, '2020-01-01 09:01:01', '2020-01-01 09:21:59', 90),
(1002, 9001, '2020-01-20 10:01:01', '2020-01-20 10:10:01', 89),
(1002, 9001, '2020-02-01 12:11:01', '2020-02-01 12:31:01', 83),
(1003, 9001, '2020-03-01 19:01:01', '2020-03-01 19:30:01', 75),
(1004, 9001, '2020-03-01 12:01:01', '2020-03-01 12:11:01', 60),
(1003, 9001, '2020-03-01 12:01:01', '2020-03-01 12:41:01', 90),
(1002, 9001, '2020-05-02 19:01:01', '2020-05-02 19:32:00', 90),
(1001, 9002, '2020-01-02 19:01:01', '2020-01-02 19:59:01', 69),
(1004, 9002, '2020-02-02 12:01:01', '2020-02-02 12:20:01', 99),
(1003, 9002, '2020-02-02 12:01:01', '2020-02-02 12:31:01', 68),
(1001, 9002, '2020-02-02 12:01:01', '2020-02-02 12:43:01', 81),
(1001, 9002, '2020-03-02 12:11:01', null, null);

 1.lag()

語法:lag(expr,N,default)

  • expr:它可以是列或任何內置函數(shù)。
  • N:它是一個正值,它確定當前行之前的行數(shù)。如果在查詢中將其省略,則其默認值為1
  • default:如果在當前行之前沒有行N行的情況下,它是函數(shù)返回的默認值。如果缺少,則默認為NULL。
select *,lag(start_time,1) over(order by id)lad_1,
lag(uid,2) over(order by id)lad_2 
from exam_record

可以看到所有的start_time都等于前面一個的start_time,前面沒有的填充NULL,設置lag()里面的參數(shù)為2,可以看到所有的uid偏移了兩個。

select *,lag(start_time,2,0) over(partition by uid order by id)lag_1
from exam_record

根據(jù)uid分組對start_time向前移動2個單元,然后設置NULL值默認填充為0. 可以自己體會一下數(shù)據(jù)的移動方式。

2.lead()

語法:lead(expr,N,default)

  • expr:它可以是列或任何內置函數(shù)。
  • N:它是一個正值,它確定當前行之后的行數(shù)。如果在查詢中將其省略,則其默認值為1
  • default:如果在當前行之后沒有行N行的情況下,它是函數(shù)返回的默認值。如果缺少,則默認為NULL。
select *,lead(start_time,1) over(order by id)lead_1,
lead(uid,2) over(order by id)lead_2 
from exam_record

可以看到所有的start_time都等于后面一個的start_time,后面沒有的填充NULL,設置lead()里面的參數(shù)為2,可以看到所有的uid都等于后面第二個的uid。

select *,lead(start_time,1) over(partition by uid order by id)lead_1
from exam_record

 還可以根據(jù)uid進行分組,然后再進行偏移。

到此這篇關于MYSQL LAG()與LEAD()的區(qū)別的文章就介紹到這了,更多相關MYSQL LAG() LEAD()內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 原來MySQL?數(shù)據(jù)類型也可以優(yōu)化

    原來MySQL?數(shù)據(jù)類型也可以優(yōu)化

    這篇文章主要介紹了原來MySQL?數(shù)據(jù)類型也可以優(yōu)化,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-08-08
  • 對MySQL慢查詢日志進行分析的基本教程

    對MySQL慢查詢日志進行分析的基本教程

    這篇文章主要介紹了對MySQL慢查詢日志進行分析的基本教程,文中提到的Query-Digest-UI這個基于B/S的圖形化查看工具非常好用,需要的朋友可以參考下
    2015-12-12
  • PHP學習散記 2012_01_07(MySQL)

    PHP學習散記 2012_01_07(MySQL)

    數(shù)據(jù)庫是Web大多數(shù)應用開發(fā)的基礎。如果你是用PHP,那么大多數(shù)據(jù)庫用的是MYSQL也是LAMP架構的重要部分
    2012-01-01
  • Mysql配置主從復制-GTID模式詳解

    Mysql配置主從復制-GTID模式詳解

    這篇文章主要介紹了Mysql配置主從復制-GTID模式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 在MySQL中使用STRAIGHT_JOIN的教程

    在MySQL中使用STRAIGHT_JOIN的教程

    這篇文章主要介紹了在MySQL中使用STRAIGHT_JOIN的教程,包括使用STRAIGHT_JOIN進行一些性能上的優(yōu)化的技巧,需要的朋友可以參考下
    2015-05-05
  • mysql獲得60天前unix時間的方法

    mysql獲得60天前unix時間的方法

    首先根據(jù)now()獲得當前時間,使用adddate()方法獲得60天前時間,使用unix_timestamp()方法轉換時間類型,需要的朋友可以參考下
    2014-09-09
  • MySQL執(zhí)行update語句和原數(shù)據(jù)相同會再次執(zhí)行嗎

    MySQL執(zhí)行update語句和原數(shù)據(jù)相同會再次執(zhí)行嗎

    這篇文章主要給大家介紹了關于MySQL執(zhí)行update語句和原數(shù)據(jù)相同是否會再次執(zhí)行的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • Docker啟動mysql配置實現(xiàn)過程

    Docker啟動mysql配置實現(xiàn)過程

    這篇文章主要介紹了Docker啟動mysql配置實現(xiàn)過程,文中附含詳細的圖文示例,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家早日升職加薪
    2021-09-09
  • MySQL事務與鎖實例教程詳解

    MySQL事務與鎖實例教程詳解

    事務是指滿足ACID特性的的一組操作,可以通過Commit提交事務,也可以也可以通過Rollback進行回滾。會存在中間態(tài)和一致性狀態(tài),也是真正在數(shù)據(jù)庫表中存在的狀態(tài)
    2022-11-11
  • mysql 連接出現(xiàn)Public Key Retrieval is not allowed的問題解決

    mysql 連接出現(xiàn)Public Key Retrieval is n

    在MySQL連接中出現(xiàn)“Public Key Retrieval is not allowed”錯誤,通常是因為在使用安全套接字層(SSL)連接時遇到了問題,本文就來介紹一下解決方法,感興趣的可以了解一下
    2024-03-03

最新評論