SQL中常用的四个排序函数,你知道几个? | 您所在的位置:网站首页 › Java中倒序怎么写 › SQL中常用的四个排序函数,你知道几个? |
我们在写SQL代码时,只要有排序,首先想到的肯定是ORDER BY,以至于好多小伙伴觉得排序多简单啊。 今天就给大家介绍四个你不怎么常用排序函数,他们就是SQL Server排序中经常用到的ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()这四个好兄弟。 我们先创建一个测试数据表Scores WITH t AS(SELECT 1 StuID,70 ScoreUNION ALLSELECT 2,85UNION ALLSELECT 3,85UNION ALLSELECT 4,80UNION ALLSELECT 5,74)SELECT * INTO Scores FROM t;SELECT * FROM Scores结果如下: 1、ROW_NUMBER()定义:ROW_NUMBER()函数作用就是将SELECT查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询,比如查询前10个 查询10-100个学生。 1.1 对学生成绩排序示例 SELECTROW_NUMBER() OVER (ORDER BY SCORE DESC) AS [RANK],*FROM Scores;(提示:可以左右滑动代码) 结果如下: 这里RANK就是每个学生的排名后的次序, 根据Score进行DESC倒序 1.2 获取第2名的成绩信息 SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY SCORE DESC) AS [RANK],*FROM Scores) t WHERE t.RANK=2;结果: 这里用到的思想就是 分页查询的思想 在原sql外再套一层SELECTWHERE t.RANK>=1 AND t.RANK |
CopyRight 2018-2019 实验室设备网 版权所有 |