MySQL进阶_查询(聚合查询)

举报
bug郭 发表于 2022/08/11 09:50:17 2022/08/11
【摘要】 表的设计三大范式一对一一个人只有一个身份证号!!!一对多一个班级里有好多学生多对多一个课程有多个学生上,一个学生要上多个课程 新增我们可以在一张表中插入其他表的查询结果!!!将student_2表中的数据插入到student_1中必须是两个表对应的字段类型匹配才可以!!!我们已经成功将student_2表中的名字信息插入到了student_1表! 查询 聚合查询聚合函数常见的的统计计数,计...

表的设计

三大范式

  • 一对一
    一个人只有一个身份证号!!!
  • 一对多
    一个班级里有好多学生
  • 多对多
    一个课程有多个学生上,一个学生要上多个课程

新增

我们可以在一张表中插入其他表的查询结果!!!

student_2表中的数据插入到student_1

必须是两个表对应的字段类型匹配才可以!!!
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
我们已经成功将student_2表中的名字信息插入到了student_1表!

查询

聚合查询

  • 聚合函数
    常见的的统计计数,计数平均值等,可以通过聚合函数来实现,常见的聚合函数如下:
函数 说明
count(列名) 返回查询到的数据的数量
sum(表达式/列名) 返回查询到的数据总和,不是数字没有意义
max(表达式/列名) 返回查询到的数据最大值,不是数字没有意义
min(表达式/列名) 返回查询到的数据最小值,不是数字没有意义
avg(表达式/列名) 返回查询到的数据平均值,不是数字没有意义

count

查询多少学生!

在这里插入图片描述

sum

查询总分
在这里插入图片描述

avg

查询每科平均成绩
在这里插入图片描述

max

查询最大值

在这里插入图片描述

min

查询最小值
在这里插入图片描述

  • group by 子句
    select中使用 group by 子句可以对指定列进行分组查询。需要满足:使用 group by进行分组查询时,select指定的字段必须是“分组依据字段”,其他字段若想出现在select中则必须包含在聚合函数中。
    也就是说,group by子句可以通过列进行分组!
    例如下方的emp中根据 role这一列我们可以将该表分成多组!
    在这里插入图片描述
    根据role分组
    在这里插入图片描述查询不同role组中的人数 平均薪水,最高薪水,最低薪水!
    在这里插入图片描述
  • having
    group by子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用where语句,而需要用having显示平均工资低于1500的角色和它的平均工资!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。