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

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

--排名函数 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的结果不一样。。

 

转载于:https://www.cnblogs.com/w2011/archive/2013/04/09/3011393.html

你可能感兴趣的文章
IIS版本变迁
查看>>
BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理
查看>>
mybatis09--自连接一对多查询
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
视频监控 封装[PlayCtrl.dll]的API
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
简化工作流程 10款必备的HTML5开发工具
查看>>
c++ 调用外部程序exe-ShellExecuteEx
查看>>
Java进击C#——语法之知识点的改进
查看>>
IdentityServer流程图与相关术语
查看>>
BirdNet: a 3D Object Detection Framework from LiDAR information
查看>>
icon fonts入门
查看>>
【Django】如何按天 小时等查询统计?
查看>>
HDU2191(多重背包)
查看>>
测试用例(一)
查看>>
【转】 mysql反引号的使用(防冲突)
查看>>
邮件中的样式问题
查看>>