码迷,mamicode.com
首页 > 数据库 > 详细

SQL 排序的N种方法

时间:2014-10-20 13:06:40      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:io   ar   sp   div   on   art   bs   as   sql   

一、手工查询得出名次
select * ,select count(*)+1 from T2 where T2.[成绩] > T1.[成绩] as 名次 from T1
结果: 
1
2
3
3
5
 
二、SQL Server 2005 的排序函数 ROW_NUMBER、RANK、DENSE_RANK
1.ROW_NUMBER
select *,ROW_NUMBER() over(partition by 分组列1,分组列2 ORDER BY 排序1,排序2) from T
结果:
1
2
3
4
5
 
2.RANK
select *,RANK() over(partition by 分组列1,分组列2 ORDER BY 排序1,排序2) from T
结果:
1
2
3
3
5
 
3.DENSE_RANK
select *,DENSE_RANK() over(partition by 分组列1,分组列2 ORDER BY 排序1,排序2) from T

  结果:

1
2
3
3
4

SQL 排序的N种方法

标签:io   ar   sp   div   on   art   bs   as   sql   

原文地址:http://www.cnblogs.com/dcrenl/p/4036765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!