MySQL中的排名函数?

rank()函数可用于为结果集分区中的每一行提供排名。

首先,让我们创建一个表-

create table RankDemo
   (
   id int
   );

将记录插入表中。

insert into RankDemo values(1);

 insert into RankDemo values(3);

 insert into RankDemo values(3);

 insert into RankDemo values(4);

 insert into RankDemo values(5);

在select语句的帮助下显示表中的所有记录。查询如下-

select *from RankDemo;

以下是输出。

+------+
| id   |
+------+
|    1 |
|    3 |
|    3 |
|    4 |
|    5 |
+------+
5 rows in set (0.00 sec)

现在让我们应用上面讨论过的rank()函数。

SELECT
   id,RANK() OVER (ORDER BY id ) Ranking
   from RankDemo;

以下是显示排名的输出。

+------+---------+
| id   | Ranking |
+------+---------+
|    1 |       1 |
|    3 |       2 |
|    3 |       2 |
|    4 |       4 |
|    5 |       5 |
+------+---------+
5 rows in set (0.04 sec)