真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL怎么實現(xiàn)自動為查詢數(shù)據(jù)結(jié)果加序號

這篇文章主要介紹“MySQL怎么實現(xiàn)自動為查詢數(shù)據(jù)結(jié)果加序號”,在日常操作中,相信很多人在MySQL怎么實現(xiàn)自動為查詢數(shù)據(jù)結(jié)果加序號問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL怎么實現(xiàn)自動為查詢數(shù)據(jù)結(jié)果加序號”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站設計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的衛(wèi)輝網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

數(shù)據(jù)表

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','數(shù)學',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','數(shù)學',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','數(shù)學',85);
INSERT INTO tb_score(userid,subject,score) VALUES ('003','英語',90);
INSERT INTO tb_score(userid,subject,score) VALUES ('003','政治',82);

MySQL給查詢加序號

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

舉例:查詢表中的數(shù)據(jù)并加上序號,對應的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    | 數(shù)學    |    92 |      2 |
|  3 | 001    | 英語    |    80 |      3 |
|  4 | 002    | 語文    |    88 |      4 |
|  5 | 002    | 數(shù)學    |    90 |      5 |
|  6 | 002    | 英語    |  75.5 |      6 |
|  7 | 003    | 語文    |    70 |      7 |
|  8 | 003    | 數(shù)學    |    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    | 數(shù)學    |    92 |     12 |
|  3 | 001    | 英語    |    80 |     13 |
|  4 | 002    | 語文    |    88 |     14 |
|  5 | 002    | 數(shù)學    |    90 |     15 |
|  6 | 002    | 英語    |  75.5 |     16 |
|  7 | 003    | 語文    |    70 |     17 |
|  8 | 003    | 數(shù)學    |    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    | 數(shù)學    |    92 |      2 |
|  3 | 001    | 英語    |    80 |      3 |
|  4 | 002    | 語文    |    88 |      4 |
|  5 | 002    | 數(shù)學    |    90 |      5 |
|  6 | 002    | 英語    |  75.5 |      6 |
|  7 | 003    | 語文    |    70 |      7 |
|  8 | 003    | 數(shù)學    |    85 |      8 |
|  9 | 003    | 英語    |    90 |      9 |
| 10 | 003    | 政治    |    82 |     10 |
+----+--------+---------+-------+--------+
10 rows in set (0.00 sec)

解釋說明

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

它代表的意思是:變量 i1 賦值給變量 i,在定義好一個變量后每次查詢都會給這個變量自增,每次執(zhí)行查詢語句獲取結(jié)果后就不需要這個變量自增了。

2、(SELECT @i:=0) AS itable,定義用戶變量 i,設置初始值為 0,然后將它作為派生表使用,AS 定義了表的別名。

3、SET @i=0 。定義用戶變量 i,賦初值為 0。

相關知識點

1、MySQL定義用戶變量的方式:

select @變量名 ,上面的SQL語句中,變量的名字是 i。

2、用戶變量賦值:一種是直接用 "=" 號,另一種是用 ":=" 號。

=:= 的區(qū)別

使用 set 命令對用戶變量進行賦值時,兩種方式都可以使用,即:SET @變量名=xxxSET @變量名:=xxx

使用 select 語句對用戶變量進行賦值時,只能使用 ":=“ 方式,因為在 select 語句中,”=" 號被看作是比較操作符。

即:SELECT @變量名:=xxx

①:用戶變量

②:派生表

③:AS設置別名

到此,關于“MySQL怎么實現(xiàn)自動為查詢數(shù)據(jù)結(jié)果加序號”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當前名稱:MySQL怎么實現(xiàn)自動為查詢數(shù)據(jù)結(jié)果加序號
鏈接URL:http://weahome.cn/article/jjddsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部