热门

最新

红包

立Flag

投票

同城

我的

发布
csdn_bilibili
苦艾酒的鬼
4 年前
truecsdn_bilibili

分享一个题,请大神给我讲解一下,有关于pl/sql的,下面发代码截图和代码


9、按各科平均成绩从低到高和及格率的百分数从高到低顺序
及格率:大于60分的人数/总人数(选课总人数)
--SELECT * FROM STUDENT;
--SELECT * FROM TEACHER;
--SELECT * FROM COURSE;
--SELECT * FROM SC;

SELECT AVG(SCORE) FROM SC GROUP BY CNO;--各科平均成绩

SELECT COUNT(SCORE) FROM SC WHERE SCORE>60 GROUP BY CNO;--各科大于六十分的人数

SELECT COUNT(SNO) FROM SC GROUP BY CNO;--各科总人数

SELECT COUNT('1') / COUNT('2') "及格率"
FROM SC
WHERE '1' IN (SELECT COUNT(SCORE) FROM SC WHERE SCORE > 60 GROUP BY CNO)
AND '2' IN (SELECT COUNT(SNO) FROM SC GROUP BY CNO); --及格率(报错,除数为零)

SELECT SC.*, '及格率'
FROM SC
ORDER BY (SELECT AVG(SCORE) FROM SC GROUP BY CNO),
(SELECT COUNT('1') / COUNT('2') "及格率"
FROM SC
WHERE '1' IN
(SELECT COUNT(SCORE) FROM SC WHERE SCORE > 60 GROUP BY CNO)
AND '2' IN (SELECT COUNT(SNO) FROM SC GROUP BY CNO)) DESC;

CSDN App 扫码分享
分享
评论
2
打赏
  • 复制链接
  • 举报
下一条动态
立即登录