濮阳杆衣贸易有限公司

主頁 > 知識庫 > MySQL中row_number的實(shí)現(xiàn)過程

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

熱門標(biāo)簽:信陽穩(wěn)定外呼系統(tǒng)運(yùn)營商 湖南人工外呼系統(tǒng)多少錢 申請外呼電話線路 芒果電話機(jī)器人自動化 南通自動外呼系統(tǒng)軟件 百度地圖圖標(biāo)標(biāo)注中心 廣東人工電話機(jī)器人 日照旅游地圖標(biāo)注 石家莊電商外呼系統(tǒng)

一 、背景

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

二、實(shí)現(xiàn)過程

1.設(shè)置mysql變量

設(shè)置兩個(gè)變量

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

set @lcid_no:= 0;   --用于獲取每行l(wèi)cid列數(shù)據(jù),然后與前面一行的lcid數(shù)據(jù)進(jìn)行對比,若相同則自增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ù),此時(shí)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ù),此時(shí)lcid_no = 0,lcid_no 不等于lcid,故row_number = 1

三、使用場景

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

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

您可能感興趣的文章:
  • MYSQL row_number()與over()函數(shù)用法詳解
  • PostgreSQL ROW_NUMBER() OVER()的用法說明
  • postgreSQL中的row_number() 與distinct用法說明
  • postgresql rank() over, dense_rank(), row_number()用法區(qū)別
  • SQL Server中row_number函數(shù)的常見用法示例詳解
  • sql四大排名函數(shù)之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介紹
  • sql ROW_NUMBER()與OVER()方法案例詳解

標(biāo)簽:阿里 公主嶺 牡丹江 天津 沈陽 惠州 呼和浩特 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL中row_number的實(shí)現(xiàn)過程》,本文關(guān)鍵詞  MySQL,中,row,number,的,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL中row_number的實(shí)現(xiàn)過程》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL中row_number的實(shí)現(xiàn)過程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    秀山| 中方县| 措美县| 石林| 社旗县| 县级市| 湟源县| 襄城县| 奉新县| 开化县| 朝阳区| 青川县| 诸暨市| 白沙| 丰原市| 云安县| 大埔县| 吴江市| 百色市| 屏东市| 海兴县| 郓城县| 姜堰市| 新田县| 德兴市| 白山市| 佛山市| 青铜峡市| 特克斯县| 涿州市| 松桃| 营山县| 丹东市| 临漳县| 汨罗市| 莱州市| 高陵县| 丰镇市| 泸州市| 宿迁市| 靖江市|