共計 1116 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
本文丸趣 TV 小編為大家詳細(xì)介紹“mysql 如何給查詢加序號”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“mysql 如何給查詢加序號”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
在 mysql 中,可以利用 SELECT 語句定義用戶變量給查詢結(jié)果添加序號,語法為“SELECT 字段 1, 字段 2,(@i:=@i+1) AS 序號 FROM 表名,(SELECT @i:=0) AS itable;”。
本教程操作環(huán)境:windows10 系統(tǒng)、mysql8.0.22 版本、Dell G3 電腦。
mysql 怎么給查詢加序號
一種普遍的解決方法是:通過 定義用戶變量 生成序號
舉例:假設(shè)數(shù)據(jù)庫有 student 表
表中有字段:sid,sname,gender,age
查詢表中的數(shù)據(jù)并加上序號,對應(yīng)的 SQL 為:
SELECT sid,sname,gender,age,(@i:=@i+1) AS 序號
FROM student,(SELECT @i:=0) AS itable;
或者
SET @i=0;
SELECT sid,sname,gender,age,@i:=@i+1 AS 序號
FROM student;
查詢結(jié)果如圖所示:
解釋說明:
1、(@i:=@i+1) 也可以寫成 @i:=@i+1,加括號是為了視覺上更清晰。
它代表的意思是:變量 i 加 1 賦值給變量 i,在定義好一個變量后每次查詢都會給這個變量自增,每次執(zhí)行查詢語句獲取結(jié)果后就不需要這個變量自增了
2、(SELECT @i:=0) AS itable,定義用戶變量 i,設(shè)置初始值為 0,然后將它作為派生表使用,AS 定義了表的別名。
3、SET @i=0。定義用戶變量 i,賦初值為 0,
相關(guān)知識點:
1、MySQL 定義用戶變量的方式:select @變量名,上面的 SQL 語句中,變量的名字是 i
2、用戶變量賦值:一種是直接用 = 號,另一種是用 := 號。
= 和 := 的區(qū)別:
使用 set 命令對用戶變量進行賦值時,兩種方式都可以使用,
即:SET @變量名 =xxx 或 SET @變量名:=xxx
使用 select 語句對用戶變量進行賦值時,只能使用 :=“方式,因為在 select 語句中,”= 號被看作是比較操作符。即:SELECT @變量名:=xxx
①:用戶變量
②:派生表
③:AS 設(shè)置別名
用 Oracle 的寫法是:
SELECT sid , sname , gender , age ,
ROW_NUMBER() over(order by sid) AS 序號
FROM user
讀到這里,這篇“mysql 如何給查詢加序號”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。