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)