查询各科成绩不合格与合格人数

ID Name Class Score
1 张三 数学 93
2 张三 语文 66
3 张三 英语 70
4 张三 理综 55
5 李四 数学 88
6 李四 语文 76
7 李四 英语 25
8 李四 理综 55
9 王五 数学 54
10 王五 语文 91
11 王五 英语 56
12 王五 理综 58
NULL NULL NULL NULL

sql语句:

select Class as 课程,sum(不合格) 不合格,sum(合格) 合格,sum(总人数) 总人数 from (
select Class ,count(*) as 不合格,合格=0,count(*) as 总人数 from StudentScore where score<60 group by Class
union all
select Class ,不合格=0,count(*) as 合格,count(*) as 总人数 from StudentScore where score>=60 group by Class ) T group by Class

结果:

课程 不合格 合格 总人数
理综 3 0 3
数学 1 2 3
英语 2 1 3
语文 0 3 3

时间: 2024-12-14 08:00:42

查询各科成绩不合格与合格人数的相关文章

查询各科成绩前三名的记录

查询各科成绩前三名的记录:(不考虑成绩并列情况),显示(学号.课程号.分数) SELECT * FROM ( SELECT SC.STUDENT_NO SNO, SC.COURSE_NO CNO, SC.CORE SCORE, ROW_NUMBER() OVER(PARTITION BY SC.COURSE_NO ORDER BY SC.CORE DESC) RN FROM HAND_STUDENT_CORE SC) A WHERE A.RN <= 3 row_number() OVER (PA

sql从学生成绩表中查出各科成绩分布最多的记录

题目:有一个数据表student,包含name(姓名),dept(科目),score(成绩)三个字段,现在要求查出每科成绩分数分布最多的项,如语文成绩80分最多,就输出语文80分的人数,数学90分的人最多,输出数学90分的人数: 测试数据: insert into student values ("deng","80","语文"); insert into student values ("zhang","80&qu

查询出成绩不小于80的人的姓名

sql表结构如下 username  corse score  1 math 87  1 english 70  2 math 72  2 chinese 90  3 math 90  3   english 98  3   chinese 89 解决思路: 1)查询出成绩小于80的人的姓名:SELECT username from  scoretable WHERE score <80 2)之后查询表中名字不在上述结果中的人 SELECT distinct username from  sco

【sql:练习题2】查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

题目:查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 这里提到平均分 ,要用到avg  按照学生分组,再求平均分,这里应该是考察group by 与聚合函数的使用  大于60分应该是按照分组后筛选的结果要用having group by 与聚合函数  having 的使用 上篇博客已经写过 于是写的sql于下: SELECT studentid,AVG(score) AS a FROM student_score GROUP BY studentid HAVING a>60

【sql: 联系题26 ,27】查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩,查询课程名称为「数学」,且分数低于 60 的学生姓名和分数

题目:26:查询平均成绩大于等于 85 的所有学生的学号.姓名和平均成绩 分析:这个应该是根据student 进行分组 group by 再根据 having >= 85 进行过滤,然后在关联student 信息表,拿到学生的基本信息 SELECT student.id, student.stdentname,AVG(student_score.score) AS a FROM student_score, studentWHERE student.id = student_score.stud

查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩

-- 查询平均成绩大于等于 85 的所有学生的学号.姓名和平均成绩 SELECT s.Sid,s.Sname,avg FROM student AS s JOIN (SELECT Sid, AVG(score) AS avg FROM sc GROUP BY Sid HAVING avg >=85) AS k ON s.Sid = k.Sid; 原文地址:https://www.cnblogs.com/zunfengliu/p/12199051.html

学生各科成绩,平均分,总分的展示

建表如下所示 sql语句以及显示如下

利用结构体计算每个学生的4门课程的平均分,将各科成绩及平均分输出到score.txt中

#include "stdafx.h" #include <stdlib.h> #include <stdio.h> typedef struct date { int year; int month; int day; }DATE; typedef struct student { long studentID; char studentName[20]; char studentSex; DATE birthday; int score[4]; }STUDE

Sql查询班级成绩排在第二位的是多少分?

CREATE DATABASE kk; USE kk; CREATE TABLE fenshubiao (  id INT PRIMARY KEY AUTO_INCREMENT, mingzi VARCHAR(10), fenshu FLOAT ); DESC fenshubiao INSERT INTO fenshubiao VALUES(NULL,'aa',95.0); 第一种办法: SELECT MAX(fenshu) AS second_fenshu FROM fenshubiao WH