关于MySQL中多行函数的介绍及其使用

一.多行函数的介绍

多行函数又称聚合函数,他对行的分组进行操作,对每个组给出一个结果;如果在查询中没有指定分组,则将查询结果看作一个组!

聚合函数的类型主要有:

  • avg 平均值

  • count 计数

  • max 最大值

  • min 最小值

  • sum 合计

注:

  • 所有聚合函数忽略空值(不会去处理)!可以使用ifnull或coalesce函数来用一个值代替空值!

  • 可以使用distinct使查询到的数据去重!

  • 聚合函数不能互相嵌套使用!


二.函数类型的使用

语法:select 函数([distinc] 分组) from 表;

1.avg函数

作用:对分组数据求平均值;

avg函数操作的数据类型是数字类型的,如果是其他类型的数据,则返回一个0值!

例如:SELECT avg(SALARY) from employees;

2.sum函数

作用:对分组数据求和的;

sum函数操作的数据类型是数字类型的,如果是其他类型的数据,则返回一个0值!

例如:SELECT sum(SALARY) from employees;

3.max函数

作用:对分组求最大数据

操作类型可以是数字,字符,日期类型的

4.min函数

作用:对分组求最小数据

操作类型可以是数字,字符,日期类型的

注:max,min函数操作字符类型的数据时,是按ascll码来进行比大小的!

5.count函数

作用:对分组求总行数

count(*) 在每一行中将所有的列全部考虑,只要有一列数据不为空,则此行不为空,算作一行,计数+1!

count(expr) 在每一行中只考虑expr列,如果此行expr列数据为空,则不算一行,不进行计数!


三.数据分组

1.单列分组

语法:select 列名 from 表名 [where 选择条件] group by 列名 [order by 列名];

2.多列分组

语法:select 列名 from 表名 [where 选择条件] group by 列名1,列名2...[,列名....] [order by 列名];


四.分组的一些操作

1.having子句

语法:select 列名 from 表名 [where 选择条件] group by 列名 having 选择条件 [order by 列名];

注:having子句是对分组后的组数据内容进行选择过滤的,而where是对分组前的行数据进行选择过滤的!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值