美文网首页
mysql多表分组查询

mysql多表分组查询

作者: Binary_r | 来源:发表于2020-08-03 21:17 被阅读0次

前置条件

成绩表.png

1、多表分组查询学生各科的成绩、总分、平均分

select user.id as 学号, username as 姓名,
sum(case when grade.kemu='语文' then score else 0 end) as 语文,
sum(case when grade.kemu='数学' then score else 0 end) as 数学,
sum(case when grade.kemu='英语' then score else 0 end) as 英语,
sum(grade.score) as 总分,
AVG(grade.score) as 平均分
from user  JOIN grade 
on  user.id = grade.user_id 
GROUP BY user.id;
分组查询结果
统计平均分大于70分

HAVING AVG(grade.score) > 70;

2、统计各科及格人数和不及格人数

SELECT kemu as 科目, count(*) as 总人数,
SUM(CASE WHEN score>=60 THEN 1 ELSE 0 END) as 及格人数,
SUM(CASE WHEN score>=60 THEN 0 ELSE 1 END) as 不及格人数
FROM grade
GROUP BY kemu; 
查询结果

3、左右连接的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

相关文章

  • mysql多表分组查询

    前置条件 1、多表分组查询学生各科的成绩、总分、平均分 统计平均分大于70分 HAVING AVG(grade.s...

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • SQLAlchemy(四)

    知识要点: 1.多表查询 2.原生SQL的查询 多表查询 在MySQL中我们讲了多表查询,在SQLAlchemy中...

  • 深入浅出MySQL(五)

    多表查询 MySQL中的多表联查 MySQL中多表查询分为三种形式: 笛卡尔积的形式 内连接的形式 外连接的形式 ...

  • SQL查询语句1

    复杂查询 = 简单查询 + 限定查询 + 查询排序 + 多表查询 + 分组统计查询 + 子查询。 面对所有的复杂查...

  • mysql数据库-多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MY...

  • MySQL03

    DQL查询语句 分页查询 分组函数 分组查询 子查询 多表连接查询 1、分页查询 当数据库中数据过多时,不能一次全...

  • Mysql-多表查询as索引

    1、Mysql多表查询2、information_schema 虚拟库3、索引 1、多表查询 方法(1) 根据需求...

  • 4/30day45_MySql多表

    回顾 MySQL多表查询&权限 今日目标 一 多表查询【重点...】 同时查询多张表获取到需要的数据组成完整的信息...

  • MySQL——分组函数、distinct、分组查询、连接查询、子

    MySQL——分组函数、distinct、分组查询、连接查询、子查询 一、分组函数(聚合函数)1、 会自动忽略空值...

网友评论

      本文标题:mysql多表分组查询

      本文链接:https://www.haomeiwen.com/subject/uyibrktx.html