【SQL】排序函数
饺子煮多久1. ROW_NUMBER()
排序值相同时序号不同,依次排序且不会重复,注意使⽤row_number函数时必须要⽤over⼦句选择对某⼀列进⾏排序才能⽣成序号。
其基本原理是先使⽤over⼦句中的排序语句对记录进⾏排序,然后按照这个顺序⽣成序号。
over⼦句中的order by⼦句与SQL语句中的order by⼦句没有任何关系,这两处的order by 可以完全不同
2. RANK()
高考高分作文rank函数⽤于分区内的排名,排序值相同时序号⼀样,但为跳跃排序(⽐如两个第⼀名后⾯是第三名)
3. DENSE_RANK()
类似RANK(), 排序值相同时序号⼀样,但为连续排序(⽐如两个第⼀名后⾯是第⼆名)
4. NTILE(n)
怎样网上订火车票n: 代表分多少组,是⾃动进⾏分组 (每组的记录数不能⼤于它上⼀组的记录数)小一寸
⼀个图表⽰⼏个函数的区别:
总结:
在使⽤排名函数的时候需要注意:
1、排名函数必须有包含 ORDER BY 的 OVER ⼦句。
2、分组内从1开始排序。
常⽤语法格式:
1. ROW_NUMBER OVER(partition by … order by … desc):⽆并列,相同名次顺序排列沉香如屑电视剧大结局
2. RANK OVER(partition by … order by … desc):有并列,跳跃排序,有两个第⼆名时后边跟着的是第四名
剑侠情缘3好玩吗3. DENSE_RANK OVER(partition by … order by … desc):有并列,连续排序,有两个第⼆名时仍然跟着第三名
4. NTITLE(组数) OVER(partition by … order by … desc)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论