Để chọn bộ đếm gia tăng trong MySQL, trước tiên bạn cần khai báo và khởi tạo một biến. Cú pháp như sau -
set @anyVariableName=0; select yourColumnName, @anyVariableName:=@anyVariableName+1 as anyVariableName from yourTableName;
Để hiểu cú pháp trên và đặt bộ đếm gia số, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau.
mysql> create table incrementCounterDemo -> ( -> Name varchar(100) -> ); Query OK, 0 rows affected (1.01 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau.
mysql> insert into incrementCounterDemo values('John'); Query OK, 1 row affected (0.18 sec) mysql> insert into incrementCounterDemo values('Carol'); Query OK, 1 row affected (0.20 sec) mysql> insert into incrementCounterDemo values('David'); Query OK, 1 row affected (0.14 sec) mysql> insert into incrementCounterDemo values('Mike'); Query OK, 1 row affected (0.21 sec) mysql> insert into incrementCounterDemo values('Bob'); Query OK, 1 row affected (0.12 sec) mysql> insert into incrementCounterDemo values('Sam'); Query OK, 1 row affected (0.16 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from incrementCounterDemo;
Sau đây là kết quả.
+-------+ | Name | +-------+ | John | | Carol | | David | | Mike | | Bob | | Sam | +-------+ 6 rows in set (0.00 sec)
Đặt biến
mysql> set @counter=0; Query OK, 0 rows affected (0.00 sec)
Bây giờ hãy chọn bộ đếm gia số.
mysql> select Name, -> @counter:=@counter+1 as IncrementingValuebyOne -> from incrementCounterDemo;
Sau đây là kết quả.
+-------+------------------------+ | Name | IncrementingValuebyOne | +-------+------------------------+ | John | 1 | | Carol | 2 | | David | 3 | | Mike | 4 | | Bob | 5 | | Sam | 6 | +-------+------------------------+ 6 rows in set (0.00 sec)