Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menambah nombor siri dalam pertanyaan mysql
Kaedah pertanyaan MySQL untuk menambah nombor siri: 1. Jana nombor siri dengan mentakrifkan pembolehubah pengguna, pernyataan seperti "PILIH id,userid,subjek,skor, (@i :=@i + 1) AS 'xuhao 'FROM tb_score ,(SELECT @i := 0) AS itable;"; 2. Tambahkan nombor siri melalui pernyataan "SET @i=0;SELECT id,userid,subject,score...".
Persekitaran pengendalian tutorial ini: sistem Windows 10, Versi MySQL5.7, komputer Dell G3.
Bagaimana untuk menambah nombor siri dalam pertanyaan mysql? MySQL Tambah nombor siri pada pertanyaan
Penyelesaian biasa ialah menjana nombor siri dengan mentakrifkan pembolehubah penggunaContohnya: tanya data dalam jadual dan tambah nombor siri, yang sepadan SQL ialah:
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);
Penjelasan
1 🎜> juga boleh ditulis sebagai
, kurungan ditambah untuk kejelasan visual.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)bermaksud: tambah
SELECT *, (@i :=@i + 1) AS '序号'FROM tb_score;pada pembolehubah
+----+--------+---------+-------+--------+ | 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)dan tetapkan kepada pembolehubah
Selepas mentakrifkan pembolehubah, pembolehubah akan dinaikkan setiap kali anda bertanya, dan anda akan mendapat keputusan setiap kali anda. laksanakan pernyataan pertanyaan Tidak perlu menambah pembolehubah ini kemudian.
SET @i=0;SELECT id,userid,subject,score,@i:=@i+1 AS '序号' FROM tb_score;2,
+----+--------+---------+-------+--------+ | 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), tentukan pembolehubah pengguna
. Tentukan pembolehubah pengguna (@i:=@i+1)
dan tetapkan nilai awal kepada @i:=@i+1
.
i
1
Mata pengetahuan berkaitani
(SELECT @i:=0) AS itable
Dalam pernyataan SQL di atas, nama pembolehubah ialah i
. 0
secara langsung, satu lagi ialah menggunakan simbol SET @i=0
. Perbezaan antara i
0
select @变量名
Apabila menggunakan pernyataan pilih untuk memberikan nilai kepada pembolehubah pengguna, anda hanya boleh menggunakan kaedah i
, kerana dalam pernyataan pilih, tanda
Iaitu: "="
: ":="
=
②: Jadual terbitan :=
SET @变量名=xxx
SET @变量名:=xxx
":=“
”="
SELECT @变量名:=xxx
Pembelajaran yang disyorkan: "
"
Atas ialah kandungan terperinci Bagaimana untuk menambah nombor siri dalam pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!