MySql教程

mysql四大排序函数

本文主要是介绍mysql四大排序函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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四大排序函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!