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

Bagaimana untuk menambah nombor siri dalam pertanyaan mysql

藏色散人
藏色散人asal
2023-02-14 11:04:4111542semak imbas

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);

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

, 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!

Kenyataan:
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