第六章MYSQL 聚合函数和分组函数

(一)sum、max 和 min 聚合函数

  1. 聚合函数概念
    聚合函数用于对一组值进行计算并返回一个汇总值,使用聚合函数可以统计记录行数、计算某个字段值的总和以及这些值的最大值、最小值和平均值等。

  2. 聚合函数在这里插入图片描述

  3. 聚合函数使用
    (1)sum函数使用

select sum(miles) 线路总里程数 from line;

在这里插入图片描述
(2)max/min 函数使用

select max(miles) 最长线路里程 , min(miles) 最短线路里程 from line;

在这里插入图片描述

--查询年龄最大的公交司机的出生年月。
select min(birthday) 最年长司机生日 ,
ceil(datediff(curdate(),min(birthday))/365) 该司机年龄 from driver;

在这里插入图片描述

(二)avg 和 count 函数

(1) avg函数的使用

select avg(miles) 平均里程数 from line;

在这里插入图片描述
(2)count 函数函数的使用

select count(*) 线路数 from line;--使用“*”可获取整张表的记录行数。
select count(lineNo) 线路数 from line;

在这里插入图片描述

(三)分组查询 group by 子句

  1. group by 子句概念
    使用 group by 子句可以将数据划分到不同的组中,实现对记录的分组查询。
  2. group by 子句语法
group by 字段列表 [having 条件表达式 ]
  1. group by 字句的使用
select number 运营车辆数, count(lineNo) 公交线路数 
from line 
group by number 
order by number

在这里插入图片描述

(四)多字段分组和 having 子句

  1. 多字段分组
    (1)概念:group by 子句的分组字段是一个字段列表,即 MySQL 支持按多个字段进行分组。
    (2)示例
select company 公司 , number 营运车辆数 , truncate(avg(miles),1) 平均营运里程 
from line 
group by company, number

在这里插入图片描述

  1. having子句
    (1)概念:having 子句的作用是筛选满足条件的组,即在分组之后过滤数据。having 子句的位置放在 group by 子句之后,常包含聚合函数。
    (2)示例
select model 型号 , type 类型 , count(*) 车辆数 from vehicle
group by model, type having 车辆数 >30 order by 车辆数 desc

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值