有一个表Score,结构如下:

 学号  int primary key
 姓名  nvarchar(20)
 课目成绩  float
 总分  float

查询结果:

 学号  姓名  课目成绩  总分
 2011  程同学  78  432
 2012  王同学  88  498

对总分进行排序,并得到最终的名次,使用如下SQL语句即可:

select *,isnull((select sum(1) from Score where 总分>A.总分),0)+1 as 名次

from Score as A

order by (select sum(1) from Score where 总分>=A.总分)

得出结果:

 学号  姓名  课目成绩  总分  名次
 2012  王同学  88  498
 2011 程同学   78  432  2

(注:总分相同时则显示同样的名次。)

相关文章:

  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-04-22
  • 2021-04-27
  • 2021-07-10
猜你喜欢
  • 2022-01-14
  • 2021-08-01
  • 2022-12-23
  • 2021-07-16
  • 2022-12-23
  • 2021-11-19
  • 2022-01-11
相关资源
相似解决方案