建表语句点击详见
– 统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[0-60]及所占百分比
SELECT c
.c_id
,c
.c_name
,((SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
AND sc
.s_score
<=100 AND sc
.s_score
>80)/(SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
)) "100-85"
,((SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
AND sc
.s_score
<=85 AND sc
.s_score
>70)/(SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
)) "85-70"
,((SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
AND sc
.s_score
<=70 AND sc
.s_score
>60)/(SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
)) "70-60"
,((SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
AND sc
.s_score
<=60 AND sc
.s_score
>=0)/(SELECT COUNT(1) FROM score sc
WHERE sc
.c_id
=c
.c_id
)) "60-0"
FROM course c
ORDER BY c
.c_id