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

MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用

 更新時間:2022年08月12日 17:15:43   作者:shyの程序猿  
這篇文章主要介紹了MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用,包括窗口函數(shù)的基本用法,LAG()和LEAD()函數(shù)介紹,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、窗口函數(shù)的基本用法

從MySQL8之后才開始支持窗口函數(shù)

<窗口函數(shù)> OVER ([PARTITION BY <用于分組的列>] ORDER BY <用于排序的列>)

二、LAG()和LEAD()函數(shù)介紹

  • lag和lead分別是向前向后的意思
  • 參數(shù)有三個。expression:列名;offset:偏移量;default_value:超出記錄窗口的默認(rèn)值(默認(rèn)為null,可以設(shè)置為0)

三、數(shù)據(jù)準(zhǔn)備(建表sql在最后)

在這里插入圖片描述

1、LAG()函數(shù):統(tǒng)計與前一天相比溫度更高的日期Id

我們先按照日期進(jìn)行排序,然后找到當(dāng)天比前一天溫度高的id;使用lag()函數(shù),將溫度向后推一天。

select id, date, temperature, LAG(temperature, 1, 0) OVER (order by date) as temp FROM weather

查詢結(jié)果:

在這里插入圖片描述

然后將temperature大于temp 并且temp不等于0的數(shù)據(jù)挑選出來

select id from (select id, date, temperature, LAG(temperature, 1, 0) OVER (order by date) as temp FROM weather) tmp where temperature>temp and temp != 0;

結(jié)果如下:

在這里插入圖片描述

2、LEAD()函數(shù):統(tǒng)計與后一天相比溫度更高的日期Id

我們還是先按照日期進(jìn)行排序,然后找到當(dāng)天比后一天溫度高的id;使用lead()函數(shù),將溫度向后推一天。

select id, date, temperature, LEAD(temperature, 1, 0) OVER (order by date) as temp FROM weather

查詢結(jié)果:

在這里插入圖片描述

然后將temperature大于temp 并且temp不等于0的數(shù)據(jù)挑選出來

select id from (select id, date, temperature, LEAD(temperature, 1, 0) OVER (order by date) as temp FROM weather) tmp where temperature>temp and temp != 0;

查詢結(jié)果:

在這里插入圖片描述

四、建表數(shù)據(jù)sql

DROP TABLE IF EXISTS `weather`;
CREATE TABLE `weather`  (
  `id` int(11) NOT NULL,
  `date` date NULL DEFAULT NULL,
  `temperature` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of weather
-- ----------------------------
INSERT INTO `weather` VALUES (1, '2022-08-01', 20);
INSERT INTO `weather` VALUES (2, '2022-08-02', 25);
INSERT INTO `weather` VALUES (3, '2022-08-03', 22);
INSERT INTO `weather` VALUES (4, '2022-08-04', 22);
INSERT INTO `weather` VALUES (5, '2022-08-05', 26);
INSERT INTO `weather` VALUES (6, '2022-08-06', 28);
INSERT INTO `weather` VALUES (7, '2022-08-07', 20);

SET FOREIGN_KEY_CHECKS = 1;

到此這篇關(guān)于MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用的文章就介紹到這了,更多相關(guān)mysql LAG()和LEAD()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql設(shè)置update時間字段自動更新的實現(xiàn)

    mysql設(shè)置update時間字段自動更新的實現(xiàn)

    本文主要介紹了在MySQL中實現(xiàn)時間字段的自動更新功能,通過設(shè)置on update CURRENT_TIMESTAMP屬性來避免在更新時手動更新時間字段,具有一定的參考價值,感興趣的可以了解一下
    2025-10-10
  • mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹

    mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹

    在MySQL中ROW_NUMBER()是一種用來生成行號的功能函數(shù),通常情況下它用于對查詢結(jié)果進(jìn)行編號,以便方便地查看每行的位置,下面這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • mysql事務(wù)和隔離級別底層原理淺析

    mysql事務(wù)和隔離級別底層原理淺析

    大家好,本篇文章主要講的是mysql事務(wù)和隔離級別底層原理淺析,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2021-12-12
  • mysql中使用replace替換某字段的部分內(nèi)容

    mysql中使用replace替換某字段的部分內(nèi)容

    這篇文章主要介紹了mysql中使用replace替換某字段的部分內(nèi)容的方法,需要的朋友可以參考下
    2014-11-11
  • mysql 5.7.11 winx64安裝配置方法圖文教程

    mysql 5.7.11 winx64安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql5.7.11 winx64安裝配置方法圖文教程,感興趣的朋友可以參考一下
    2016-05-05
  • MySQL查詢性能優(yōu)化方法匯總講解

    MySQL查詢性能優(yōu)化方法匯總講解

    這篇文章主要介紹了MySQL查詢性能優(yōu)化方法,Mysql查詢性能優(yōu)化要從三個方面考慮,庫表結(jié)構(gòu)優(yōu)化、索引優(yōu)化和查詢優(yōu)化,通常在實際應(yīng)用中,我們要面對這三種攪和一起的情況,需要了解MySQL查詢性能優(yōu)化方法的朋友可以參考下
    2024-05-05
  • MySQL中TEXT和LONGTEXT區(qū)別舉例詳解

    MySQL中TEXT和LONGTEXT區(qū)別舉例詳解

    MySQL中的text和longtext類型是常用的字符串類型,可以儲存大量文本數(shù)據(jù),這篇文章主要介紹了MySQL中TEXT和LONGTEXT區(qū)別的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-08-08
  • MySQL復(fù)制架構(gòu)的搭建及配置過程

    MySQL復(fù)制架構(gòu)的搭建及配置過程

    這篇文章主要介紹了MySQL復(fù)制架構(gòu)的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • 簡述MySQL與Oracle的區(qū)別

    簡述MySQL與Oracle的區(qū)別

    Oracle是大型數(shù)據(jù)庫而Mysql是中小型數(shù)據(jù)庫,Oracle市場占有率達(dá)40%,Mysql只有20%左右,同時Mysql是開源的而Oracle價格非常高
    2017-06-06
  • 簡單分析MySQL中的primary key功能

    簡單分析MySQL中的primary key功能

    這篇文章主要介紹了MySQL中的primary key功能,包括講到了其對InnoDB使用的影響,需要的朋友可以參考下
    2015-05-05

最新評論