mysql group by 聚合_浅析MySQL使用 GROUP BY 分组聚合与细分聚合

1. 聚合函数(Aggregate Function)MySQL(5.7 ) 官方文档中给出的聚合函数列表(图片)如下:除非另有说明,否则聚合函数都会忽略空值(NULL values)。2. 聚合函数的使用聚合函数通常对 GROUP BY 语句进行分组后的每个分组起作用,即,如果在查询语句中不使用 GROUP BY 对结果集分组,则聚合函数就对结果集的所有行起作用。为说明聚合函数的使用,现创建测试...
摘要由CSDN通过智能技术生成

1. 聚合函数(Aggregate Function)

MySQL(5.7 ) 官方文档中给出的聚合函数列表(图片)如下:

381907e664c5d57286c1f8d0965ad33b.png

除非另有说明,否则聚合函数都会忽略空值(NULL values)。

2. 聚合函数的使用

聚合函数通常对 GROUP BY 语句进行分组后的每个分组起作用,即,如果在查询语句中不使用 GROUP BY 对结果集分组,则聚合函数就对结果集的所有行起作用。为说明聚合函数的使用,现创建测试表 member 进行测试,member 的数据结构如下(使用 SELECT * FROM member 查询所得):

53aa404cfba77c8571c436aa3a3d1af4.png

1)对结果集直接使用聚合函数

例如,使用聚合函数SUM () 计算所有会员(member) 的会费总和,则可使用:

SELECT SUM(fee) AS total_fee FROM member #计算所有会员会费总和

查询结果为:

a4189571a35d7cc09de838bec66a7082.png

SUM 函数会对全部字段列 fee 进行求和。当然,也可以求平均值、最大值等。

此外,也可以使用 WHERE 语句进行限定条件的聚合查询。例如,如果要查询 country 为 China 的会员会费之和,则为:

SELECT SUM(fee) AS China_total_fee, country FROM member WHERE country = 'China'

结果显示如下:

908abd1672dd0e12ac1031cb4d5ffb97.png

2)GROUP BY 对结果集分组后使用聚合函数——组内聚合

GROUP BY 如何分组?

——将字段值相同的记录归为一组,可用COUNT(*) 统计组内成员个数;

“组内聚合”为何意?

——以分组为单位,对组内每个成员使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值