Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm cột đếm số thứ tự dòng (serial number) trong MySQL

Để thêm cột đếm số thứ tự dòng, dùng biến toàn cục (user-defined variable) trong câu lệnh SELECT.

Tạo bảng:

mysql> create table addColumnToCountAsSerialNumber    -> (    -> Id int,    -> Name varchar(20),    -> Age int,    -> Salary int    -> ); Query OK, 0 rows affected (0.80 sec)

Chèn dữ liệu:

mysql> insert into addColumnToCountAsSerialNumber values(10,'John',23,8576); Query OK, 1 row affected (0.10 sec) mysql> insert into addColumnToCountAsSerialNumber values(12,'Carol',21,4686); Query OK, 1 row affected (0.14 sec) mysql> insert into addColumnToCountAsSerialNumber values(9,'Mike',22,38585); Query OK, 1 row affected (0.11 sec) mysql> insert into addColumnToCountAsSerialNumber values(15,'Sam',25,38586); Query OK, 1 row affected (0.16 sec) mysql> insert into addColumnToCountAsSerialNumber values(20,'Bob',26,43544); Query OK, 1 row affected (0.17 sec) mysql> insert into addColumnToCountAsSerialNumber values(39,'Larry',29,485886); Query OK, 1 row affected (0.16 sec)

Hiển thị dữ liệu:

mysql> select *from addColumnToCountAsSerialNumber ;
+------+-------+------+--------+ | Id   | Name  | Age  | Salary | +------+-------+------+--------+ |   10 | John  |  23 |    8576 | |   12 | Carol |  21 |    4686 | |    9 | Mike  |  22 |   38585 | |   15 | Sam   |  25 |   38586 | |   20 | Bob   |  26 |   43544 | |   39 | Larry |  29 |  485886 | +------+-------+------+--------+ 6 rows in set (0.00 sec)

Truy vấn thêm cột RowCount:

mysql> select @globalVar:=@globalVar+1 RowCount,tblColumns.*    -> from (select @globalVar:=0) initializeGlobalVariable,addColumnToCountAsSerialNumber tblColumns;
+----------+------+-------+------+--------+ | RowCount | Id   | Name  | Age  | Salary | +----------+------+-------+------+--------+ |        1 |   10 | John  |   23 |   8576 | |        2 |   12 | Carol |   21 |   4686 | |        3 |    9 | Mike  |   22 |  38585 | |        4 |   15 | Sam   |   25 |  38586 | |        5 |   20 | Bob   |   26 |  43544 | |        6 | 39 | Larry | 29 | 485886 | +----------+------+-------+------+--------+ 6 rows in set (0.06 sec)