dcrenl
一、手工查询得出名次
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

分类:

技术点:

相关文章:

  • 2021-11-30
  • 2021-10-18
  • 2021-07-24
  • 2021-08-20
  • 2021-09-07
  • 2022-01-02
猜你喜欢
  • 2020-03-15
  • 2021-12-31
  • 2021-11-16
  • 2021-11-15
  • 2021-10-10
  • 2021-11-23
  • 2021-11-14
相关资源
相似解决方案