写一个sql语句“查询各门课程的选修及格人数、及格比率。各列标题显示为课程号、及格人数、选修人数、及格比率。”
时间: 2024-06-05 14:08:22 浏览: 47
您好,以下是对应的 SQL 语句:
SELECT
课程号,
COUNT(CASE WHEN 成绩 >= 60 THEN 1 ELSE NULL END) AS 及格人数,
COUNT(*) AS 选修人数,
ROUND(COUNT(CASE WHEN 成绩 >= 60 THEN 1 ELSE NULL END) / COUNT(*) * 100, 2) AS 及格比率
FROM
成绩表
GROUP BY
课程号;
希望我的回答对您有所帮助。
相关问题
sql写一个“ 以“查询选修各门课程的选修及格人数、及格比率”建立一个视图,并测试该视图的查询结果。 提示:如视图为v_s ,测试该视图的查询结果则使用查询 select * from v_s ”
好的,你的问题是如何用 SQL 创建一个视图来查询选修各门课程的选修及格人数和及格比率,并测试其查询结果。以下是示例 SQL 代码:
CREATE VIEW v_s AS
SELECT course,
COUNT(CASE WHEN grade >=60 THEN 1 END) AS pass_count,
COUNT(*) AS total_count,
COUNT(CASE WHEN grade >=60 THEN 1 END) / COUNT(*) AS pass_rate
FROM student
GROUP BY course;
其中,"student" 是包含学生信息的表,包括字段 "name"、"course" 和 "grade",分别表示学生姓名、选修的课程和获得的分数。该视图按照课程分组,统计每门课程的及格人数、总人数和及格比率。
要测试该视图,可以使用以下 SQL 查询语句:
SELECT * FROM v_s;
该语句将查询并返回视图 v_s 中的所有结果,包括课程名称、及格人数、总人数和及格比率。
阅读全文