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

MySQL中row_number的實現(xiàn)過程

 更新時間:2020年10月13日 16:07:55   作者:ALIVEE  
這篇文章主要介紹了MySQL中row_number的實現(xiàn)過程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一 、背景

一般在數(shù)據(jù)倉庫環(huán)境中,我們可以很方便的使用row_number函數(shù)根據(jù)某個維度來對數(shù)據(jù)進行分組,實現(xiàn)每個組內(nèi)數(shù)據(jù)編號排序的效果。如下圖所示,該圖是在mysql環(huán)境中生成的效果圖,這里以lcid進行的分組,num等價于row_number函數(shù)實現(xiàn)的效果:

mysql環(huán)境下實現(xiàn)row_number效果

二、實現(xiàn)過程

1.設(shè)置mysql變量

設(shè)置兩個變量

set @row_number:=0; --根據(jù)lcid_no的判斷結(jié)果生成row_number序號

set @lcid_no:= 0;   --用于獲取每行l(wèi)cid列數(shù)據(jù),然后與前面一行的lcid數(shù)據(jù)進行對比,若相同則自增1,否則為1

 

2.使用case when

SELECT @row_number:=CASE
    WHEN @lcid_no = s.lcid THEN @row_number + 1 
    ELSE 1
    END AS num,
    @lcid_no:=s.lcid AS lcid,
	  s.lcid
FROM r_qcloud_approval_fh_d s,(select @orw_number:=0,@lcid_no:=0) t
ORDER BY s.lcid;

3.過程分析
若存在多條相同數(shù)據(jù)情形
1)初始條件下,游標(biāo)指向第一條數(shù)據(jù),此時lcid_no = 0,lcid_no 不等于lcid,故row_number = 1
2)游標(biāo)指向第二條數(shù)據(jù),lcid_no = 上一條數(shù)據(jù)的lcid,因上一條數(shù)據(jù)的lcid = 當(dāng)前行l(wèi)cid,因此row_number =2
無重復(fù)數(shù)據(jù)情形
1)初始條件下,游標(biāo)指向第一條數(shù)據(jù),此時lcid_no = 0,lcid_no 不等于lcid,故row_number = 1

三、使用場景

在mysql這種關(guān)系型數(shù)據(jù)庫中,沒有row_number函數(shù)的情況下使用

到此這篇關(guān)于MySQL中row_number的實現(xiàn)過程的文章就介紹到這了,更多相關(guān)MySQL中row_number內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mac系統(tǒng)下源碼編譯安裝MySQL 5.7.17的教程

    Mac系統(tǒng)下源碼編譯安裝MySQL 5.7.17的教程

    這篇文章主要介紹了Mac系統(tǒng)下源碼編譯安裝MySQL 5.7.17的教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • MySQL筑基篇之增刪改查操作詳解

    MySQL筑基篇之增刪改查操作詳解

    這篇文章主要和大家講解一下MySQL數(shù)據(jù)庫的增刪改查操作,這里的查詢確切的說應(yīng)該是初級的查詢,不涉及函數(shù)、分組等模塊,需要的可以參考一下
    2022-07-07
  • mysql日志文件General_log和Binlog開啟及詳解

    mysql日志文件General_log和Binlog開啟及詳解

    MySQL中的數(shù)據(jù)變化會體現(xiàn)在上面日志中,下面這篇文章主要給大家介紹了關(guān)于mysql日志文件General_log和Binlog開啟及詳解的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Mysql下自動刪除指定時間以前的記錄的操作方法

    Mysql下自動刪除指定時間以前的記錄的操作方法

    這篇文章主要介紹了MySQL下自動刪除指定時間以前的記錄的操作方法,需要的朋友可以參考下
    2018-08-08
  • MySQL重定位數(shù)據(jù)目錄的方法

    MySQL重定位數(shù)據(jù)目錄的方法

    這篇文章主要介紹了MySQL重定位數(shù)據(jù)目錄的實現(xiàn)方法,分析了重定位MySQL數(shù)據(jù)目錄的實現(xiàn)原理與技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • mysql 8.0.25 解壓版安裝配置方法圖文教程

    mysql 8.0.25 解壓版安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.25 解壓版安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 詳解MySQL主從復(fù)制及讀寫分離

    詳解MySQL主從復(fù)制及讀寫分離

    這篇文章主要介紹了詳解MySQL主從復(fù)制及讀寫分離,文中有非常詳細的代碼示例,對正在學(xué)習(xí)mysql的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • MySQL中的間隙鎖代碼示例講解

    MySQL中的間隙鎖代碼示例講解

    鎖是mysql提供的一種保證不同事務(wù)讀寫隔離的重要措施,通過鎖機制可以有效提升決多線程下并發(fā)處理事務(wù)能力,不同的鎖劃分對應(yīng)著不同的使用場景,本文來深入探討一下mysql的另一種容易被忽視的鎖,即間隙鎖,以及與之相關(guān)的相關(guān)問題,需要的朋友可以參考下
    2023-08-08
  • Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致問題排查及解決

    Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致問題排查及解決

    最近忽然發(fā)現(xiàn)個問題,Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致,通過查找相關(guān)資料終于解決了,下面這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致問題排查及解決的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Mysql IO 內(nèi)存方面的優(yōu)化

    Mysql IO 內(nèi)存方面的優(yōu)化

    這篇文章主要介紹了Mysql IO 內(nèi)存方面的優(yōu)化 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評論