一、聚合函数

聚合函数。称为统计函数

常用的聚合函数

count()总量数

max()最大值

min()最小值

sum()和

avg()平均值

例:查询部门30的总人数(查询总人数,根据empno编号确定有多少编号,就有多个人)

select count(empno)from emp where deptno=30; count()括号是统计总数量,必须要传的

⚠️聚合函数在统计时会忽略null值。

select sum(sal)where emp where deptno=10;

select avg(sal) where emp where deptno=10;

例:查询部门30的最高工资、最低工资、平均工资

select max(sal),min(sal),avg(sal)from emp where deptno = 30;

二、分组统计

语法:

select 列名1 别名1,列名2 别名2...

from 表名1 别名1 inner join 表名2 别名2 on 多表间的关联关系

where 条件(分组之前的条件)

group by 分组列

having (分组之后的条件)

order by 排序1 asc|desc,排列2 asc|desc....;

举例:

查询每个部门的平均工资

select deptno,avg(sal)

from emp

group by deptno;

select  dname ,avg(sal)

from emp e,dept d

where e.empno  = d.depno

group by d.dname

⚠️:在mysql中分组统计时可以查出分组列的其他列,而在orcal中不行

建议将要查询出的列使用分组列

查询出部门的名称以及每个部门的员工数量

select d.dname,count(e.empno)

from dept d left join emp e on d.deptno = e.deptno

group by d.dname

查询平均工资大于2000的部门的编号或者平均工资

select deptno , avg(sal)from emp group by deptno having avg(sal)>2000;

查询出非销售人员的职位名称,以及从事同一工作的雇员的月工资综合,并且满足工资综合大于5000,查询结构按照月工资综合生序排序

解题思路:

1、先写出整体的关键字出来

2、思考需要查询几张表,把可能查询的表下载from 后。  只查询emp表

3、考虑有没有分组之前的条件, 非销售人员的职位。 job!=‘salesman’

4、思考需要按照什么分组。  按照job分组

5、思考分组后的条件。 满足工资综合大于5000.  sum(sal)>5000

6、升序排序

select job ,sum(sal) sum

from emp

where job!='salesman'

group by job

having sum(sal)>5000

order by  sum

mysql聚合函数统计_mysql学习-mysql聚合函数和分组统计相关推荐

  1. mysql分页是物理分页_学习MySQL:什么是分页

    mysql分页是物理分页 In this article, I am going to explain that in MySQL, what is pagination and how we can ...

  2. mysql 如何对表排序_学习MySQL:对表中的数据进行排序和过滤

    mysql 如何对表排序 In this article, we will learn how we can sort and filter data using the WHERE clause a ...

  3. Oracle学习笔记(七)——分组统计查询

    Oracle学习笔记(七)--分组统计查询 基础统计函数的使用 分组统计操作的实现,结合多表查询使用分组统计 常用统计函数 COUNT(*|[DISTINCT]字段) MAX(字段,日期或数字) MI ...

  4. mysql 分组链接_MySQL学习笔记(四)——分组函数,分组查询,链接查询

    MySQL学习笔记(四)--分组函数,分组查询,链接查询 做者:就叫易易好了 日期:2020/11/18 1.分组函数 功能:用做统计使用,又称为聚合函数或统计函数mysql 分类:web sum函数 ...

  5. mysql传小马_Mysql 学习笔记

    1.关系型数据库 关系:由行和列组成的二维表 表:至少要有列,可以没有行. 列:是实体的属性. 数据模型:层次模型.网状模型.关系模型.非关系模型. DBMS:DataBase Mangenent S ...

  6. mysql 取年月日 语句_MySQL学习从这里出发!

    MySQL数据库 开发学习中,想满足一些需求,无疑需要经常与数据打交道,例如,我们在使用IO的一些技术的时候,常常需要将一些数据存储到外部文件,可能大家会问,我们初学的时候常常会简单的保存一些数据到 ...

  7. mysql十分钟分组_MYSQL每隔10分钟进行分组统计的实现方法

    前言 本文的内容主要是介绍了mysql每隔10分钟进行分组统计的实现方法,在画用户登录.操作情况在一天内的分布图时会非常有用,之前我只知道用「存储过程」实现的方法(虽然执行速度快,但真的是太不灵活了) ...

  8. mysql数据库内置函数大全_MySQL数据库——内置函数

    MySQL数据库--内置函数 建表并插入数据 create table student( id char(36) primary key, name varchar(8) not null, age ...

  9. mysql 快速查询变更记录_MySQL学习笔记(7)—— MySQL 查询/更新数据记录

    除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处.这就是数据记录查询的用途,即帮助取出数据,也是 Python API 与 MySQL 交互的重要部分.SELECT 大概是 SQL ...

最新文章

  1. Windows Hyper-V远程信息泄露漏洞CVE-2017-8712 影响Win2016和win10
  2. c语言基础回顾 —— 其他知识点
  3. Semantic-UI的React实现(二):CSS类构造模块 1
  4. programing python_Programing in Python3(Second Edition)_实例
  5. 通达信画线文件是在服务器吗,通达信画线工具的使用说明★★★★
  6. HDU4699 Editor(双栈对弹)
  7. S3C2440 蜂鸣器 汇编语言,S3C2440 点亮led灯详解(基于MDK) | 勤奋的小青蛙
  8. 基于51单片机的gps定位系统
  9. 如何使服务器信号加强,增强路由器信号的操作方法
  10. 如何读到一个文件的最后更新日期和时间
  11. python将学号与成绩匹配_python输入学号输出成绩等级_python将百分制成绩转换为等级制输出...
  12. 如何在职场人际冲突中“立于不败之地”?
  13. 攻防世界-- web高手进阶区-- writeup汇总
  14. 人工智能物联网开发的目录
  15. 本地RTMP流媒体服务器搭建拉流简易版
  16. SQL Server数据库中创建数据表及数据类型操作应用
  17. CNTK-训练神经网络
  18. Keylogger Gym - 101078I codeforces
  19. 服务器添加磁盘找不到怎么办
  20. ICS中的6种知名攻击

热门文章

  1. 24行代码简单实现qq空间自动点赞
  2. Java泛型详解:泛型类、泛型方法使用
  3. Linux 端口打开 关闭
  4. idea 自动补全返回值,自动补全变量名称和属性名称
  5. TCP/IP协议族的网络层基础(1)——网段划分
  6. 英雄联盟一直连接服务器win10,Win10系统下玩lol提示“无法连接服务器”怎么解决?...
  7. android n 动态时钟,基于JQuery的动态罗盘时钟
  8. vue-cli3.0 使用px2rem 或 postcss-plugin-px2rem
  9. 如何选择代理记账公司?七点须知,必读
  10. 跟我学RocketMQ之消息幂等