学生成绩表(stuscore):
姓名:name
|
课程:subject
|
分数:score
|
学号:stuid
|
张三
|
数学
|
89
|
1
|
张三
|
语文
|
80
|
1
|
张三
|
英语
|
70
|
1
|
李四
|
数学
|
90
|
2
|
李四
|
语文
|
70
|
2
|
李四
|
英语
|
80
|
2
|
































问题:
1. 计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)
2. 计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩)
3. 计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最高成绩)
4. 计算每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩)
5. 列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)
6. 列出各门课程成绩最好的两位学生(要求显示字段: 学号,姓名,科目,成绩)
7. 统计如下:
学号
|
姓名
|
语文
|
数学
|
英语
|
总分
|
平均分
|
|
|
|
|
|
|
|
8.列出各门课程的平均成绩(要求显示字段:课程,平均成绩)
9.列出数学成绩的排名(要求显示字段:学号,姓名,成绩,排名)
10.列出数学成绩在2-3名的学生(要求显示字段:学号,姓名,科目,成绩)
11.求出李四的数学成绩的排名
12.统计如下:
课程
|
不及格(0-59)个
|
良(60-80)个
|
优(81-100)个
|
|
|
|
|
13.统计如下:数学:张三(50分),李四(90分),王五(90分),赵六(76分)
答案:
13. 数学: 张三 (50 分 ), 李四 (90 分 ), 王五 (90 分 ), 赵六 (76 分 )
declare
@s
varchar
(
1000
)

set
@s
=
''

select
@s
=
@s
+
'
,
'
+
name
+
'
(
'
+
convert
(
varchar
(
10
),score)
+
'
分)
'
from
stuscore
where
subject
=
'
数学
'

set
@s
=
stuff
(
@s
,
1
,
1
,
''
)

print
'
数学:
'
+
@s
13. 数学: 张三 (50 分 ), 李四 (90 分 ), 王五 (90 分 ), 赵六 (76 分 )









1.
计算每个人的总成绩并排名



2.
计算每个人的总成绩并排名












3.
计算每个人单科的最高成绩










4.
计算每个人的平均成绩










5.
列出各门课程成绩最好的学生











6.
列出各门课程成绩最好的两位学生







7.学号
姓名
语文
数学
英语
总分
平均分
















8.
列出各门课程的平均成绩




9.
列出数学成绩的排名





















10.
列出数学成绩在2-3
名的学生














11.
求出李四的数学成绩的排名












12. 课程 不及格( -59 ) 良( -80 ) 优( -100 )









