select 学号,sum(case 课程 when '数学' then 成绩 else 0 end) as '数学', sum(case 课程 when '英语' then 成绩 else 0 end) as '英语', sum(case 课程 when '语文' then 成绩 else 0 end) as '语文',sum(成绩) 总分,avg(成绩) 平均分,max(时间) 时间from 成绩
group by 学号
group by 学号
现在还想问一个问题,如何在前面加一个"名次"列呀!!
名次 学号 姓名 数学 语文 英语 .....总分 平均分 时间
1 20030101 王好 90 85 89 268 88 2003-09-01
2 20030102 李国 85 95 96 275 90 2003-09-01
答完就结,先谢谢了
select 学号,sum(case 课程 when '数学' then 成绩 else 0 end) as '数学', sum(case 课程 when '英语' then 成绩 else 0 end) as '英语', sum(case 课程 when '语文' then 成绩 else 0 end) as '语文',sum(成绩) 总分,avg(成绩) 平均分,max(时间) 时间
from 成绩
group by 学号) aaa
from 成绩
group by 学号select (select count(*)+1 from #临时表 where 总分<tem.总分) 名次,* from #临时表 tem