MySQL: Cara mendapatkan urutan nomor baris



Petunjuk ini berjalan melalui bagaimana seseorang dapat menampilkan urutan nomor baris / peringkat untuk hasil set yang diperoleh dari mengeksekusi sebuah query sql. Sebuah contoh dengan penjelasan langkah-langkah disediakan.


Mari kita berjalan melalui sebuah contoh.
Pertama, mari kita buat tabel karyawan di db kami.


Query 1.1
mysql> create table employee (id smallint(5),
name varchar(15),salary smallint(5));
Selanjutnya, masukkan catatan ke dalam tabel karyawan.

Query 1.2
mysql> Insert into employee values (1,’jon’,1000);
mysql> Insert into employee values (2,’darvin’,3500);
mysql> Insert into employee values (3,’krik’,500);
mysql> Insert into employee values (4,’rook’,1500);
mysql> Insert into employee values (5,’alex’,100);
Sekarang, menampilkan semua catatan dari meja karyawan. 
Query 1.3
mysql> select * from employee;
+------+--------+--------+
| id   | name   | salary |
+------+--------+--------+
|    1 | jon    |   1000 |
|    2 | darvin |   3500 |
|    3 | krik   |    500 |
|    4 | rook   |   1500 |
|    5 | alex   |    100 |
+------+--------+--------+
5 rows in set (0.00 sec)

S
ekarang, mari kita mengambil semua catatan dari meja karyawan diurutkan berdasarkan gaji. 
Query 1.4
mysql> select * from employee order by salary;
+------+--------+--------+
| id   | name   | salary |
+------+--------+--------+
|    5 | alex   |    100 |
|    3 | krik   |    500 |
|    1 | jon    |   1000 |
|    4 | rook   |   1500 |
|    2 | darvin |   3500 |
+------+--------+--------+
5 rows in set (0.00 sec) 

Sekarang, kita benar-benar ingin memiliki kolom tambahan yang akan berjalan dari awal pada 1 (baris pertama) ke baris terakhir. 
Hal ini agar kita dapat menampilkan urutan baris dalam tabel. Berikut ini adalah 
query.
mysql> set @row_num = 0;
SELECT @row_num := @row_num + 1 as row_number,id,name,salary FROM employee
ORDER BY salary;
+------------+------+--------+--------+
| row_number | id   | name   | salary |
+------------+------+--------+--------+
|          1 |    5 | alex   |    100 |
|          2 |    3 | krik   |    500 |
|          3 |    1 | jon    |   1000 |
|          4 |    4 | rook   |   1500 |
|          5 |    2 | darvin |   3500 |
+------------+------+--------+--------+
5 rows in set (0.00 sec) 

Sekarang Anda dapat melihat kolom tambahan (row_number) yang menunjukkan urutan baris. Hal ini sangat berguna saat menampilkan catatan.
Mari kita menggali sedikit lebih dalam tentang bagaimana query di atas 1,4 bekerja untuk mendapatkan pesanan nomor baris.
set @row_num = 0;
Ini Menggunakan @row_num sebagai pengguna didefinisikan variabel untuk menyimpan jumlah baris dan diberi nilai 0 .
SELECT @row_num: = @row_num + 1 as row_number
Di sini, kita meningkatkan variabel row_num @ oleh 1, setiap kali ketika id perubahan kolom dan kita memegang nilai itu dalam baris sebelumnya. Ini akan menjaga incrementing variabel row_num @ sampai mencapai baris terakhir di id kolom, menggunakan 'row_number' untuk alias kolom.

0 ɹɐʇuǝɯoʞ: