有一表T:
编号 年级 班级 考试标志 科目 姓名 分数
1 初一 1班 半期考试 语文 AA 89
2 初一 1班 半期考试 数学 AA 49
3 初一 1班 半期考试 英语 AA 89
4 初一 1班 期末考试 物理 AA 56
5 初一 1班 期末考试 语文 AA 89
6 初一 1班 期末考试 数学 AA 90
7 初一 1班 期末考试 英语 BB 24
8 初一 1班 半期考试 物理 BB 54
5 初一 2班 半期考试 语文 CC 89
6 初一 2班 半期考试 语文 CC 68
我要得到如下表:假如查询姓名=AA
年级 班级 考试标志 姓名 总分 班级名次
初一 1班 半期考试 AA 247 1
初一 1班 期末考试 AA 235 1
编号 年级 班级 考试标志 科目 姓名 分数
1 初一 1班 半期考试 语文 AA 89
2 初一 1班 半期考试 数学 AA 49
3 初一 1班 半期考试 英语 AA 89
4 初一 1班 期末考试 物理 AA 56
5 初一 1班 期末考试 语文 AA 89
6 初一 1班 期末考试 数学 AA 90
7 初一 1班 期末考试 英语 BB 24
8 初一 1班 半期考试 物理 BB 54
5 初一 2班 半期考试 语文 CC 89
6 初一 2班 半期考试 语文 CC 68
我要得到如下表:假如查询姓名=AA
年级 班级 考试标志 姓名 总分 班级名次
初一 1班 半期考试 AA 247 1
初一 1班 期末考试 AA 235 1
解决方案 »
- sql server 有没有行级的select 锁,如果没有,“行级的select 锁”的怎么实现
- 请问下面的查询用一条SQL语句怎么实现?
- 生成插入语句的存过有点问题
- 报错了,请指教 :)
- 非常奇怪的SQL问题,求助!
- 有关于把不符合要求的日期转换
- 数据库的设计问题
- 很急!!!请问:1、如何将BMP图象保存到SQL SERVER数据库中?2、从数据库取出BMP字段显示?希望有源代码!
- SQL语句:有T1和T2两个表,表结构一样,怎样把T1有,而T2没的记录复制到T2表中?以姓名字段为准
- SQL SERVER 有没有直接将一字符串的数字提取出来的函数???
- 又问一个关于每日作业调度备份数据库的SQL语句写法~
- 请教个字符串截取
select 年级,班级,考试标志,姓名,总分,班级名次 from T where 姓名=AA
--try SQL2005
with
obj as
(
select [年级], [班级], [考试标志], [姓名], sum([分数]) as [总分]
from T
group by [年级], [班级], [考试标志], [姓名]
)
select *,
[班级名次]=rank() over(partition by [年级],[班级],[考试标志] order by [总分] desc)
from obj
select 年级,班级,考试标志,姓名,sum(分数) as 总分,
班级名次=(select isnull(count(*),0)+1 from (select 姓名, sum(分数) as 总分
from T where 年级=a.年级 and 班级=a.班级 and 考试标志=a.考试标志 group by 姓名) c where c.总分> a.总分 )from T a where 姓名='AA' group by 年级,班级,考试标志,姓名