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

MySQL中自增長序列(@i:=@i+1)的用法示例詳解

 更新時(shí)間:2025年07月16日 09:05:05   作者:樓蘭胡楊  
本文介紹如何在MySQL中通過用戶變量@i模擬Oracle的ROWNUM偽列,生成自增序列,適用于單表或多表查詢場景,感興趣的朋友一起看看吧

問題分析

   Oracle中的偽列 ROWNUM 是一組遞增的序列,在查詢數(shù)據(jù)時(shí)生成,為結(jié)果集中每一行標(biāo)識一個(gè)行號, 每條記錄會因?yàn)檩敵龅捻樞虿煌@得不同的邏輯編號;此自增長序列可以視作起始值為 1,以1為步長的遞增的等差數(shù)列。MySQL中沒有這個(gè)偽列的概念,但是有些業(yè)務(wù)場景需要這個(gè)自增長編號,所以,本文分享如何在MySQL中模擬生成一個(gè)自增長序列。

模擬自增長序列

  單表查詢

  sql示例:

select (@i:=@i+5) as rownum, surname, personal_name from student, (select @i:=100) as init;

   解釋: 上述sql中,@i:=100為自定義的初始值為100,表名init可以自定義;(@i:=@i+5)為遞增規(guī)則,表示遞增序列的步長為5,上述sql運(yùn)行結(jié)果如下:

  當(dāng)然一般不會這么用,簡單的從1開始遞增就行:

select (@i:=@i+1) as rownum, surname, personal_name from student, (select @i:=0) as init;

  多表關(guān)聯(lián)查詢

  多表關(guān)聯(lián)查詢跟單表查詢類似,在關(guān)聯(lián)查詢后定義一個(gè)自增長序列即可:

select (@i:=@i+1) as rownum, A.surname, B.uname from student A left join user B on CONCAT(A.surname, A.personal_name) = B.uname, (select @i:=0) as init;

結(jié)束語

  本文分享在MySQL中,使用 (@i:=@i+1) 模擬Oracle中的偽列 ROWNUM,生成一個(gè)自增長序列。

  以上就是這篇文章的全部內(nèi)容了,希望本文對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問請留言交流。Wiener在此祝各位生活愉快!工作順利!

Reference

到此這篇關(guān)于MySQL中自增長序列(c)的用處及用法的文章就介紹到這了,更多相關(guān)mysql @i:=@i+1用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql優(yōu)化之like和=性能詳析

    mysql優(yōu)化之like和=性能詳析

    這篇文章主要給大家介紹了關(guān)于mysql優(yōu)化之like和=性能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • update.where無索引導(dǎo)致MySQL死鎖問題解決

    update.where無索引導(dǎo)致MySQL死鎖問題解決

    這篇文章主要為大家介紹了update.where無索引導(dǎo)致MySQL死鎖問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • mysql基于正則實(shí)現(xiàn)模糊替換字符串的方法分析

    mysql基于正則實(shí)現(xiàn)模糊替換字符串的方法分析

    這篇文章主要介紹了mysql基于正則實(shí)現(xiàn)模糊替換字符串的方法,結(jié)合具體實(shí)例對比分析了使用正則實(shí)現(xiàn)mysql字符串替換的注意事項(xiàng)與相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • MySQL 的CASE WHEN 語句使用說明

    MySQL 的CASE WHEN 語句使用說明

    本文介紹下,在mysql數(shù)據(jù)庫中,有關(guān)case when語句的用法,介紹了case when語句的基礎(chǔ)知識,并提供了相關(guān)實(shí)例,供大家學(xué)習(xí)參考,有需要的朋友不要錯(cuò)過
    2011-10-10
  • mysql字符集和數(shù)據(jù)庫引擎修改方法分享

    mysql字符集和數(shù)據(jù)庫引擎修改方法分享

    使用虛擬主機(jī)空間上的phpmyadmin操作數(shù)據(jù)庫的時(shí)候,如果看到phpmyadmin首頁上顯示的MySQL 字符集為cp1252 West European (latin1),當(dāng)我們導(dǎo)入數(shù)據(jù)時(shí)就會出現(xiàn)亂碼
    2012-02-02
  • MySQL中join查詢的深入探究

    MySQL中join查詢的深入探究

    數(shù)據(jù)庫中的JOIN稱為連接,連接的主要作用是根據(jù)兩個(gè)或多個(gè)表中的列之間的關(guān)系,獲取存在于不同表中的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MySQL中join查詢的深入探究,需要的朋友可以參考下
    2022-11-11
  • MySql .frm數(shù)據(jù)庫文件導(dǎo)入的問題

    MySql .frm數(shù)據(jù)庫文件導(dǎo)入的問題

    手頭有.frm 文件,怎樣導(dǎo)入數(shù)據(jù)庫???
    2009-07-07
  • navicat 8 創(chuàng)建數(shù)據(jù)庫與創(chuàng)建用戶分配權(quán)限圖文方法

    navicat 8 創(chuàng)建數(shù)據(jù)庫與創(chuàng)建用戶分配權(quán)限圖文方法

    navicat是一款不錯(cuò)的圖形化管理mysql的工具,大家一般都是用phpmyadmin或直接命令行操作,對于不是很熟悉命令的朋友,就可以使用navicat這個(gè)工具了,方便操作。
    2011-04-04
  • 圖文介紹mysql中:=和=的區(qū)別

    圖文介紹mysql中:=和=的區(qū)別

    這篇文章主要給大家介紹了關(guān)于mysql中:=和=區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • mysql報(bào)錯(cuò):Deadlock found when trying to get lock; try restarting transaction的解決方法

    mysql報(bào)錯(cuò):Deadlock found when trying to get lock; try restarti

    這篇文章主要給大家介紹了關(guān)于mysql出現(xiàn)報(bào)錯(cuò):Deadlock found when trying to get lock; try restarting transaction的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07

最新評論