Hàm rank () có thể được sử dụng để xếp hạng cho mọi hàng trong phân vùng của tập kết quả.
Trước tiên, hãy để chúng tôi tạo một bảng -
mysql> create table RankDemo mysql> ( mysql> id int mysql> ); Query OK, 0 rows affected (0.53 sec)
Chèn bản ghi vào bảng.
mysql> insert into RankDemo values(1); Query OK, 1 row affected (0.19 sec) mysql> insert into RankDemo values(3); Query OK, 1 row affected (0.12 sec) mysql> insert into RankDemo values(3); Query OK, 1 row affected (0.11 sec) mysql> insert into RankDemo values(4); Query OK, 1 row affected (0.12 sec) mysql> insert into RankDemo values(5); Query OK, 1 row affected (0.17 sec)
Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -
mysql> select *from RankDemo;
Sau đây là kết quả.
+------+ | id | +------+ | 1 | | 3 | | 3 | | 4 | | 5 | +------+ 5 rows in set (0.00 sec)
Bây giờ chúng ta hãy áp dụng hàm rank () như tôi đã thảo luận ở trên.
mysql> SELECT mysql> id,RANK() OVER (ORDER BY id ) Ranking mysql> from RankDemo;
Sau đây là kết quả hiển thị thứ hạng.
+------+---------+ | id | Ranking | +------+---------+ | 1 | 1 | | 3 | 2 | | 3 | 2 | | 4 | 4 | | 5 | 5 | +------+---------+ 5 rows in set (0.04 sec)