Mysql聚合函数的使用介绍

目录
  • 前言
  • 什么是聚合函数
    • SUM 函数
  • count
  • max与min
  • sum
  • avg
  • 总结

前言

聚合函数用来对表中的数据进行统计和计算。users表结构如下:

什么是聚合函数

聚合函数是用来做简单的数据统计的,比如说统计一下 “员工表” 中的平均工龄是多少年啊,员工表中一共有多少条记录等等… 这些都需要使用到聚合函数。

聚合函数也被称为 “汇总函数” ,在数据的查询分析中,应用的十分广泛。可以帮助我们实现对数据的求和、求最大值、求最小值、求平均值等等。

如果不指定统计的范围,那么聚合函数统计的范围就是整张数据表,该章节我们所讲解的 “聚合函数” 就是针对整张数据表范围的。

聚合函数演示案例:(求员工表中的平均月收入是多少?)

SELECT AVG(sal + IFNULL(comm,0)) AS 平均工资
from t_emp;
-- AVG:聚合函数,求平均值使用
-- IFNULL:IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值

PS:需要注意的地方,在聚合函数的返回结果集(无论是求和、最大值、最小值、还是求平均数),结果集只有一个返回数据。

SUM 函数

SUN 函数用于求和,只能用于数字类型;如果用于字符类型的数据,则统计结果为0;如果用于时间类型的数据的求和,则结果是毫秒数的相加。

SQL 语句演示 SUM函数 案例(统计 10、20 部门的员工的月薪的总和)

SELECT SUM(sal)
FROM t_emp
WHERE deptno IN (10, 20)

SQL 语句演示 SUM函数 案例(统计 ename(字段) 的综合 )

SELECT SUM(ename)
FROM t_emp
WHERE deptno IN (10, 20)

count

使用count统计某个字段的总行数,要注意区分包含null和不包含null

//不包含null
select count(user_id)  from users;  //8
//包含null
select count(*) from users; //10

max与min

max和main函数用来求某一列的最大值/最小值

//求男生的最大年龄
select max(age) from user where gender = '男'; //6

sum

使用sum对某一列进行求和

//对age大于30的列进行求和
select sum(age) from users where age>30;
//求平均年龄
select sum(age)  / count(*) from usersl;

avg

avg函数用来计算列的平均值

//求男生的平均年龄,结果不准null列没有计算在内
select avg(age) from users where gender = '男';
//将age为null的也计算在内
select avg(ifnull(age,0)) from users where gender = '男';

总结

  • count函数用来求某一字段的行数不包含null,count(*)用来求总行数
  • max\min函数用来计算某一列的最大\最小值
  • sum函数对某一列进行求和
  • avg函数用来计算平均数
  • 在对列进行计算式,聚合函数会默认忽略值为null的记录,使用ifnull进行null值的替换

到此这篇关于Mysql聚合函数的使用介绍的文章就介绍到这了,更多相关Mysql聚合函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL 分组查询和聚合函数

    概述 相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位):或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估). 这个时候就要用到分组查询,分组查询的目的是为了把数据分成多个逻辑组(购买化妆品的人员是一个组,不同年龄段购买化妆品的人员也是组),并对每个组进行聚合计算的过程:. 分组查询的语法格式如下: select cname, group_fun,... from tname [where conditio

  • MySQL中聚合函数count的使用和性能优化技巧

    本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是其中有一些与使用中印象不同的情况,比如当count作用一列.多列.以及使用*来表达整行产生的效果是不同的. 示例表如下: CREATE TABLE `NewTable` ( `id` int(11) NULL DEFAULT NULL , `name` varchar(30) NULL DEFAUL

  • Mysql 聚合函数嵌套使用操作

    目的:Mysql 聚合函数嵌套使用 聚合函数不可以直接嵌套使用,比如: max(count(*)) 但是可以嵌套子查询使用 eg: 注:后面那个 as 必须要写 select max(total) from ( select count(*) as total from blog group by btype) as aa; 补充知识:mysql中MAX()函数和count()函数的技巧使用 1.max()函数 在考虑提高数据库io的情况下,可以创建索引 ===>create index 索引名

  • MySQL常用聚合函数详解

    一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回指定列的最大值 四.SUM SUM(col) 返回指定列的所有值之和 五.GROUP_CONCAT GROUP_CONCAT([DISTINCT] expr [,expr ...]              [ORDER BY {unsigned_integer | col_name | expr}

  • MySql 中聚合函数增加条件表达式的方法

    Mysql 与聚合函数在一起时候where条件和having条件的过滤时机 where 在聚合之前过滤 当一个查询包含了聚合函数及where条件,像这样的情况 select max(cid) from t where t.id<999 这时候会先进行过滤,然后再聚合.先过滤出ID<999的记录,再查找最大的cid返回. having 在聚合之后过滤 having在分组的时候会使用,对分组结果进行过滤,通常里面包含聚合函数. SELECT ip,MAX(id) FROM app GROUP BY

  • MySQL查询排序与查询聚合函数用法分析

    本文实例讲述了MySQL查询排序与查询聚合函数用法.分享给大家供大家参考,具体如下: 排序 为了方便查看数据,可以对数据进行排序 语法: select * from 表名 order by 列1 asc|desc [,列2 asc|desc,...] 说明 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推 默认按照列值从小到大排列(asc) asc从小到大排列,即升序 desc从大到小排序,即降序 例1:查询未删除男生信息,按学号降序 select * from st

  • 深入了解MySQL中聚合函数的使用

    目录 什么是聚合函数 SUM 函数 MAX 函数 MIN 函数 AVG 函数 COUNT 函数 聚合函数综合小练习 聚合函数综合练习 -1 聚合函数综合练习 -2 今天的章节我们将要来学习一下 “聚合函数” :首先我们需要学习聚合函数对数据进行统计分析,比如说求最大值.最小值.平均值之类的场景.但是单纯的使用聚合函数,只能做全表范围的统计分析.如果想要把记录分组分别统计,需要使用 “GROUP BY” 和 “HAVING” 这样的分组子句了.关于分组查询的应用,将在下一章节为大家进行讲解.当前章

  • MySQL 聚合函数排序

    目录 MySQL 结果排序-- 聚集函数 环境 查询结果排序 查询的分组与汇总 查一下 学生们平均年龄 查一下总人数是多少 查一下每个年龄有多少人 查出最大年龄 总结 MySQL 结果排序-- 聚集函数 环境 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号', `student_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_c

  • MySQL使用聚合函数进行单表查询

    聚合函数 作用于一组数据,对那组数据返回一个值 count :统计结果记录多少条数, max:统计最大值 min:统计最小值 sum:计算求和 avg: 计算平均值 注意,分组函数 group by.如果要对 分组后 的数据进行筛选,那么必须使用 having 关键字,条件写在 having 后面: where:先过滤已有的数据,在分组,在聚合函数计算: having:过滤分组之后的数据.插入我们需要练习的表city 表 CREATE TABLE `city` ( `id` INT AUTO_I

  • Mysql聚合函数的使用介绍

    目录 前言 什么是聚合函数 SUM 函数 count max与min sum avg 总结 前言 聚合函数用来对表中的数据进行统计和计算.users表结构如下: 什么是聚合函数 聚合函数是用来做简单的数据统计的,比如说统计一下 “员工表” 中的平均工龄是多少年啊,员工表中一共有多少条记录等等… 这些都需要使用到聚合函数. 聚合函数也被称为 “汇总函数” ,在数据的查询分析中,应用的十分广泛.可以帮助我们实现对数据的求和.求最大值.求最小值.求平均值等等. 如果不指定统计的范围,那么聚合函数统计的

  • mysql自定义函数原理与用法实例分析

    本文实例讲述了mysql自定义函数原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是函数 函数的创建 函数的调用 函数的查看 函数的修改 函数的删除 首发日期:2018-04-18 什么是函数: 函数存储着一系列sql语句,调用函数就是一次性执行这些语句.所以函数可以降低语句重复.[但注意的是函数注重返回值,不注重执行过程,所以一些语句无法执行.所以函数并不是单纯的sql语句集合.] mysql函数有自己的自定义函数(已经定义好了的函数),想了解更多的可以参考我的另一篇博文:mys

  • MySQL必备基础之分组函数 聚合函数 分组查询详解

    目录 一.简单使用 二.搭配DISTINCT去重 三.COUNT()详细介绍 四.分组查询 一.简单使用 SUM:求和(一般用于处理数值型) AVG:平均(一般用于处理数值型) MAX:最大(也可以用于处理字符串和日期) MIN:最小(也可以用于处理字符串和日期) COUNT:数量(统计非空值的数据个数) 以上分组函数都忽略空NULL值的数据 SELECT SUM(salary) AS 和,AVG(salary) AS 平均,MAX(salary) AS 最大,MIN(salary) AS 最小

随机推荐