首页 > 数据库技术 > 详细

mysql四大排序函数

时间:2021-08-24 20:35:02      阅读:12      评论:0      收藏:0      [点我收藏+]
create table scores2021-08-24
(   id int(6)
   ,score DOUBLE(4,2)
);
insert into scores values(1,3.50);
insert into scores values(2,3.65);
insert into scores values(3,4.00);
insert into scores values(4,3.85);
insert into scores values(5,4.00);
insert into scores values(6,3.65);
commit;
select
    id 
   ,score
   ,rank() over(order by score desc) `rank`               #按照成绩排名,纯排名
   ,dense_rank() over(order by score desc) `dense_rank`   #按照成绩排名,相同成绩排名一致
   ,row_number() over(order by score desc) `row_number`   #按照成绩依次排名
   ,ntile(3) over (order by score desc) `ntile`           #按照分数划分成绩梯队
from scores;

技术分享图片

 

 一、ROW_NUMBER()
Row_number() 在排名是序号 连续 不重复,即使遇到表中的两个一样的数值亦是如此

二、rank()
Rank() 函数会把要求排序的值相同的归为一组且每组序号一样,排序不会连续执行

三、dense_rank()
Dense_rank() 排序是连续的,也会把相同的值分为一组且每组排序号一样

四、ntile()
Ntile(num) 将所有记录分成num个组,每组序号一样

参考地址:https://leetcode-cn.com/problems/rank-scores/solution/si-da-pai-ming-han-shu-he-guan-jian-zi-b-qvaz/

mysql四大排序函数

原文:https://www.cnblogs.com/ericshrolc/p/15181947.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!