博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server 排名函数 简单应用
阅读量:6253 次
发布时间:2019-06-22

本文共 1179 字,大约阅读时间需要 3 分钟。

--排名函数 ROW_NUMBER()  RANK(), DENSE_RANK(),NTILE()  Over()函数 为排名函数生成排序顺序、 select ROW_NUMBER() over(order by OrderDate)   as Romber,SalesOrderID,OrderDate  from SalesLT.SalesOrderHeader    ---创建一个单一的排序  SELECT ROW_NUMBER() OVER(partition by year(OrderDate),Month(OrderDate) order by orderdate) as rownumber,  SalesOrderID,OrderDate,ShipMethod    FROM SalesLT.SalesOrderHeader   WHERE SalesOrderID>=280 ORDER BY OrderDate;    ---ROW_NUMBER()    SELECT rowNumber ,SalesOrderNumber SalesOrderID,OrderDate  from (  select ROW_NUMBER() over(order by orderdate,SalesOrderID)  as rowNumber,* from   SalesLT.SalesOrderHeader   where SalesOrderID>293  ) as Q  where   rowNumber between 21 and 40  order by rowNumber;    --Rank()  DENSE_RANK()  EG:例如 张三跟王五 都是第二名 那么他们的Rank的值应为2     select productID,COUNT(*) as 'Count'   from SalesLT.SalesOrderDetail    group by ProductID   order  by COUNT(*);     select Productid,salescount,RANK() over(order by salescount) as 'Ranks',  DENSE_RANK() OVER(ORDER BY salescount) AS 'Dense_rank' from (select ProductID,COUNT(*) as salescount  from SalesLT.SalesOrderDetail  group by ProductID) as Q  group by 'Ranks';   运行结果:对比
通过 对比:Rank的结果与 DeseRank的结果不一样。。

 

转载地址:http://spysa.baihongyu.com/

你可能感兴趣的文章
spring boot项目配置文件集合
查看>>
cube-ui的用法
查看>>
2015.4.21 SetWindowPos函数用法
查看>>
2011-12-14 调用cmd并获得输入输出+网络访问
查看>>
解决nim db_mysql could not load: libmysql.dll的问题
查看>>
JavaScript之再谈回调与闭包
查看>>
优化PHP代码的一些建议
查看>>
android学习网站
查看>>
TCP定时器详解
查看>>
if判断,switch语句
查看>>
postgresql中字段为空的查询
查看>>
Arduino入门之前
查看>>
JavaWeb学习----JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)
查看>>
zoj 1904 Beavergnaw 计算圆柱和圆台的体积
查看>>
整理了一份招PHP高级工程师的面试题(转)
查看>>
Document对象中的一些重要的属性和方法(笔记)
查看>>
学习Raft算法的笔记
查看>>
[LeetCode]题解(python):053-Maximum Subarray
查看>>
SharePoint中的用户信息和检索的有关知识
查看>>
Linux系统在启动过程中grub引导文件丢失的解决方法
查看>>