六.聚集函数

使用聚集函数,可以方便的分析数据,主要有以下几种应用场景:

1.确定表的行数 (统计)

2.对某一列值进行求和

3.找出表的列 最大值,最小值 或平均值

特点: 使用聚集函数,返回的结果 是单行单列

用处:一般用于子查询 或  与分组搭配使用.  更多的是搭配分组使用

以下函数 distinct 为可选值

6.1 AVG([DISTINCT] expr)     #求某一列平均值 会自动去除 内容为null 的列

例如:select avg(age) from student # 求 学生的平均年龄

6.2 COUNT([DISTINCT] expr)  #统计某一列出现的行数 会自动去除 内容为null 的列

例如: select * from student   # 统计共有多少条学生记录

6.3 MAX([DISTINCT] expr)  #求出某一列的最大值

例如: select max(age) from student   # 计算学生中最大的年龄是

6.4 MIN([DISTINCT] expr)  #求出某一列的最小值

例如: select min(age) from student   # 计算学生中最小的年龄是

max 与 min 通常用来查找 数值或日期的最 大/小 值

6.5 SUM([DISTINCT] expr)  # 对某一列的所有值进行求和

例如: select sum(age) from student   # 统计学生年龄的总和

七.数据分组

一般聚集函数都是与分组搭配使用,分组是按照某一特点 把表中的数据分成多个组,分组后分别再进行聚集操作

6.1 关键字 : group by cloum

select sex,count(*) as 总人数  from  student group by sex #统计不同性别的人数

特点:先分组 再聚集

需注意:

1.虽然没有明确要求, 但是一般 用于分组的列 , 都要在 select 语句中查询出

2.关键字优先级: group by  必需在 where 语句之后 , order by 之前

3.group by 后不可跟聚集函数, 不可跟别名

4.如果分组中存在null值, 会将null单独作为一个分组. 如果有多个null ,可将多个null作为一个分组

6.2 过滤分组数据 HAVING

where 是对行数据进行过滤, 不存在分组的概念,如果要对组内的数据再进行过滤,则需要使用另一个关键字 HAVING5

HAVING支持所有的 where子句中的操作符,语法完全一致 .

举个例子 :从学生表中分别统计男生,女生中 ,年龄在20岁以上的 人数,并且人数在5个以上

select sex,count(*)  from student where age > 20 group by sex  having count(*) > 5

having 后的表达式,必须是 select 后面出现的非别名的有效表达式,

6.3 分组后排序 按照人数进行排序 (各个关键字的顺序不可以错)

select sex,count(*)  from student where age > 20 group by sex  having count(*) > 5

6.4 关键字的顺序

从前至后: select  , from  , where  , group by ,   having ,  order by  ,limit

原文:https://www.cnblogs.com/lzzRye/p/9359284.html

30分钟学会mysql_30分钟回顾MySQL语法(下)相关推荐

  1. 3分钟学会python_3分钟学会一个Python小技巧

    Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串. datetime 分别提供了两个方法 strp ...

  2. 10分钟学会理解和解决MySQL乱码问题

    在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:十分钟搞清字符集和字符编码 本博客已经迁移至: http://cenalulu.github.io/ 为了 ...

  3. 20分钟学会mysql_5分钟学会mysql基本操作

    mysql视频教程栏目介绍如何快速学会mysql基本操作 相关免费学习推荐:mysql视频教程 文章目录一.SQL是什么? 分类: 二.关于数据库CRUD操作 1.操作表list: 2.对表内数据进行 ...

  4. 1小时钟回顾MySQL语法(中)

    六.聚集函数 使用聚集函数,可以方便的分析数据,主要有以下几种应用场景: 1.确定表的行数 (统计) 2.对某一列值进行求和 3.找出表的列 最大值,最小值 或平均值 特点: 使用聚集函数,返回的结果 ...

  5. 3分钟学会python_3分钟学会使用Python推荐系统库Surprise

    最近做推荐系统,研究了一下Surprise库,使用简单,效果不错. Github地址:NicolasHug/Surprise 实现功能: 找到和用户A相似的N个用户 找到和项目A相似的N个项目 1.i ...

  6. pulsar 容量_[Pulsar系列] 10分钟学会Pulsar消息系统概念

    Apache Pulsar Pulsar是一个支持多租户的.高性能的服务与服务之间消息通讯的解决方案,最初由雅虎开发,现在由Apache软件基金会管理. Pulsar在Yahoo的生产环境运行了三年多 ...

  7. 30 分钟学会 Flex 布局

    30 分钟学会 Flex 布局 关注公众号 风色年代(itfantasycc) 更多好玩的前端资料等你拿~~ 林东洲 30 分钟学会 Flex 布局 - 知乎 (zhihu.com) 为什么我要写这一 ...

  8. python程序-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  9. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

最新文章

  1. 49 岁的红杉资本遭遇黑客攻击
  2. luogu1341 无序字母对
  3. 4.6上午口语练习 阅读词汇
  4. java考驾照_基于JavaWeb的驾校考试系统.doc
  5. 社区团购会一直走下去吗?
  6. 20220213:力扣第280场周赛(上)
  7. mysql主从架构图_MySQL主从架构
  8. linux服务器怎么连接
  9. Pycharm汉化包+操作步骤
  10. python怎么安装re模块_python模块模块re
  11. PHP资源汇总-内容包括模板、框架、数据库、安全等方面的库和工具
  12. GPS设备获取的坐标转换成百度或者高德坐标
  13. windows远程桌面不能复制粘贴的解决办法
  14. 使用计算机有关的活动,有关计算机的活动策划书
  15. 站内信系统数据库设计
  16. JS基础-一个完美的递归函数
  17. MIPS、CPI、MFLOPS
  18. GDOI2017 总结
  19. Tita OKR分享:如何进行OKR的复盘?
  20. 使用 HeadSpin BYOD 进行现场测试

热门文章

  1. 【Spring实战】注入非Spring Bean对象
  2. sqlplus / as sysdba报错ORA-01031: insufficient privileges
  3. 【新媒体讨论】关联趋势和“就是不服”
  4. oracle重载操作符的例子
  5. 一本通1627【例 3】最大公约数
  6. 51nod 3 * problem
  7. std::cout char + int
  8. linux进程端口防火墙
  9. Aizu 0525 Osenbei(状压+贪心)
  10. z-index的最大值、最小值