Computer >> Máy Tính >  >> Lập trình >> MySQL

Chức năng xếp hạng trong MySQL?

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)