Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menambah nombor siri dalam pertanyaan mysql

Bagaimana untuk menambah nombor siri dalam pertanyaan mysql

藏色散人
Lepaskan: 2023-02-14 11:04:41
asal
11742 orang telah melayarinya

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...".

Bagaimana untuk menambah nombor siri dalam pertanyaan mysql

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 pengguna

Contohnya: tanya data dalam jadual dan tambah nombor siri, yang sepadan SQL ialah:

atau
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);
Salin selepas log masuk

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;
Salin selepas log masuk
+----+--------+---------+-------+--------+
| 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)
Salin selepas log masuk
Salin selepas log masuk
bermaksud: tambah
SELECT
	*, (@i :=@i + 1) AS '序号'FROM
	tb_score;
Salin selepas log masuk
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)
Salin selepas log masuk
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;
Salin selepas log masuk
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)
Salin selepas log masuk
Salin selepas log masuk
, tentukan pembolehubah pengguna

, tetapkan nilai awal kepada , dan kemudian gunakannya sebagai jadual terbitan, AS mentakrifkan alias jadual.

3,

. Tentukan pembolehubah pengguna (@i:=@i+1) dan tetapkan nilai awal kepada @i:=@i+1.

i1Mata pengetahuan berkaitani

1 Cara MySQL mentakrifkan pembolehubah pengguna:

(SELECT @i:=0) AS itable Dalam pernyataan SQL di atas, nama pembolehubah ialah i . 0

2. Tugasan pembolehubah pengguna: satu ialah menggunakan simbol

secara langsung, satu lagi ialah menggunakan simbol SET @i=0 . Perbezaan antara i0

dan

Apabila menggunakan arahan set untuk memberikan nilai kepada pembolehubah pengguna, kedua-dua kaedah boleh digunakan, iaitu:

atau


select @变量名Apabila menggunakan pernyataan pilih untuk memberikan nilai kepada pembolehubah pengguna, anda hanya boleh menggunakan kaedah i, kerana dalam pernyataan pilih, tanda

dianggap sebagai pengendali perbandingan.

Iaitu: "=": ":="

①: Pembolehubah pengguna

=②: Jadual terbitan :=

③: alias tetapan AS

SET @变量名=xxxSET @变量名:=xxx

":=“”="
SELECT @变量名:=xxxPembelajaran yang disyorkan: "

Tutorial Video MySQL

"

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!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan