久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql查詢如何添加序號

145次閱讀
沒有評論

共計 3214 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章主要講解了“mysql 查詢如何添加序號”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“mysql 查詢如何添加序號”吧!

mysql 查詢添加序號的方法:1、通過定義用戶變量生成序號,語句如“SELECT id,userid,subject,score, (@i :=@i + 1) AS xuhao FROM tb_score,(SELECT @i := 0) AS itable;”;2、通過“SET @i=0;SELECT id,userid,subject,score…”語句實現加序號。

MySQL 給查詢加序號

數據表

DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_score(
   id INT(11) NOT NULL auto_increment,
   userid VARCHAR(20) NOT NULL COMMENT 用戶 id ,
   subject VARCHAR(20) COMMENT 科目 ,
   score DOUBLE COMMENT 成績 ,
   PRIMARY KEY(id))ENGINE = INNODB DEFAULT CHARSET = utf8;INSERT INTO tb_score(userid,subject,score) VALUES (001 , 語文 ,90);INSERT INTO tb_score(userid,subject,score) VALUES (001 , 數學 ,92);INSERT INTO tb_score(userid,subject,score) VALUES (001 , 英語 ,80);INSERT INTO tb_score(userid,subject,score) VALUES (002 , 語文 ,88);INSERT INTO tb_score(userid,subject,score) VALUES (002 , 數學 ,90);INSERT INTO tb_score(userid,subject,score) VALUES (002 , 英語 ,75.5);INSERT INTO tb_score(userid,subject,score) VALUES (003 , 語文 ,70);INSERT INTO tb_score(userid,subject,score) VALUES (003 , 數學 ,85);INSERT INTO tb_score(userid,subject,score) VALUES (003 , 英語 ,90);INSERT INTO tb_score(userid,subject,score) VALUES (003 , 政治 ,82);

MySQL 給查詢加序號

一種普遍的解決方法是:通過定義用戶變量生成序號

舉例:查詢表中的數據并加上序號,對應的 SQL 為:

SELECT
id,userid,subject,score, (@i :=@i + 1) AS 序號 FROM
tb_score,
(SELECT @i := 0) AS itable;
+----+--------+---------+-------+--------+
| id | userid | subject | score |  序號  |
+----+--------+---------+-------+--------+
| 1 | 001 |  語文  | 90 | 1 |
| 2 | 001 |  數學  | 92 | 2 |
| 3 | 001 |  英語  | 80 | 3 |
| 4 | 002 |  語文  | 88 | 4 |
| 5 | 002 |  數學  | 90 | 5 |
| 6 | 002 |  英語  | 75.5 | 6 |
| 7 | 003 |  語文  | 70 | 7 |
| 8 | 003 |  數學  | 85 | 8 |
| 9 | 003 |  英語  | 90 | 9 |
| 10 | 003 |  政治  | 82 | 10 |
+----+--------+---------+-------+--------+
10 rows in set (0.00 sec)
SELECT
 *, (@i :=@i + 1) AS  序號 FROM
 tb_score;

+----+--------+---------+-------+--------+
| id | userid | subject | score |  序號  |
+----+--------+---------+-------+--------+
| 1 | 001 |  語文  | 90 | 11 |
| 2 | 001 |  數學  | 92 | 12 |
| 3 | 001 |  英語  | 80 | 13 |
| 4 | 002 |  語文  | 88 | 14 |
| 5 | 002 |  數學  | 90 | 15 |
| 6 | 002 |  英語  | 75.5 | 16 |
| 7 | 003 |  語文  | 70 | 17 |
| 8 | 003 |  數學  | 85 | 18 |
| 9 | 003 |  英語  | 90 | 19 |
| 10 | 003 |  政治  | 82 | 20 |
+----+--------+---------+-------+--------+
10 rows in set (0.00 sec)

或者

SET @i=0;SELECT id,userid,subject,score,@i:=@i+1 AS 序號 FROM tb_score;
+----+--------+---------+-------+--------+
| id | userid | subject | score |  序號  |
+----+--------+---------+-------+--------+
| 1 | 001 |  語文  | 90 | 1 |
| 2 | 001 |  數學  | 92 | 2 |
| 3 | 001 |  英語  | 80 | 3 |
| 4 | 002 |  語文  | 88 | 4 |
| 5 | 002 |  數學  | 90 | 5 |
| 6 | 002 |  英語  | 75.5 | 6 |
| 7 | 003 |  語文  | 70 | 7 |
| 8 | 003 |  數學  | 85 | 8 |
| 9 | 003 |  英語  | 90 | 9 |
| 10 | 003 |  政治  | 82 | 10 |
+----+--------+---------+-------+--------+
10 rows in set (0.00 sec)

解釋說明

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 設置別名

感謝各位的閱讀,以上就是“mysql 查詢如何添加序號”的內容了,經過本文的學習后,相信大家對 mysql 查詢如何添加序號這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-13發表,共計3214字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 乐山市| 溧阳市| 鄄城县| 寻乌县| 宿州市| 南丹县| 阳泉市| 汉川市| 繁峙县| 玉林市| 祁东县| 伊金霍洛旗| 城口县| 五台县| 临汾市| 甘肃省| 鄢陵县| 雷波县| 松潘县| 河北区| 伊通| 溧水县| 铜川市| 乳山市| 舒城县| 肥乡县| 泉州市| 宝坻区| 承德市| 岑溪市| 博客| 垫江县| 姚安县| 常山县| 兴宁市| 浦江县| 邢台市| 桂平市| 昭平县| 青海省| 苏尼特左旗|