首頁 >資料庫 >mysql教程 >mysql怎麼給查詢加序號

mysql怎麼給查詢加序號

WBOY
WBOY原創
2022-03-09 15:33:5125664瀏覽

在mysql中,可以利用SELECT語句定義使用者變數為查詢結果加上序號,語法為「SELECT 欄位1,欄位2,(@i:=@i 1) AS '序號' FROM 表名, (SELECT @i:=0) AS itable;」。

mysql怎麼給查詢加序號

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql怎麼為查詢加序號

一個普遍的解決方法是:透過 定義使用者變數 產生序號

範例:假設資料庫有 student 表

表中有欄位:sid,sname,gender,age

查詢表中的資料並加上序號,對應的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;

查詢結果如圖所示:

mysql怎麼給查詢加序號

解釋說明:

#1、(@i:=@i 1) 也可以寫成 @i: =@i 1 ,加括號是為了視覺上更清晰。

它代表的意思是:變數i 加1 賦值給變數i,在定義好一個變數後每次查詢都會給這個變數自增,每次執行查詢語句取得結果後就不需要這個變數自增了

2、(SELECT @i:=0) AS itable,定義使用者變數i,設定初始值為0,然後將它作為衍生表使用,AS定義了表格的別名。

3、SET @i=0 。定義使用者變數i,賦初值為0,

相關知識點:

1、MySQL定義使用者變數的方式:select @變數名稱 ,上面的SQL語句中,變數的名字是 i

2、使用者變數賦值:一種是直接用"="號,另一種是用":="號。

= 與 := 的差異:

使用set指令對使用者變數進行賦值時,兩種方式都可以使用,

即:SET @變數名稱=xxx或 SET @變數名稱:=xxx

使用select語句對使用者變數進行賦值時,只能使用":=「方式,因為在select語句中,」="號被視為比較運算符。即:SELECT @變數名稱:=xxx

①:使用者變數

#②:衍生表格

③:AS設定別名

#用Oracle的寫法是:

SELECT "sid","sname","gender","age",
ROW_NUMBER() over(order by "sid") AS "序号"
FROM "user";

推薦學習:mysql影片教學

以上是mysql怎麼給查詢加序號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn