mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述

本文详细介绍了MySQL 5.7中的聚合函数,包括AVG()、COUNT()、GROUP_CONCAT()等,讲解了它们的用法、返回值类型以及在不同情况下的行为,同时还提到了如BIT_AND()、JSON_ARRAYAGG()和JSON_OBJECTAGG()等其他聚合函数,并给出了示例。
摘要由CSDN通过智能技术生成

MySQL版本:5.7+

一、MySQL 5.7中的聚合函数

MySQL 5.7中的聚合函数如下:

5c95f5e77c410bc5e3a1f1e5abbf87f7.png

除非另有说明,否则组合函数会忽略NULL值。

如果在不包含Group By子句的语句中使用组合函数,就等效于对所有行进行分组。(个人理解是,结果总是只有一行。)关于这点的更多信息,后面的小节“MySQL处理Group By的方式”会讲到。

聚合函数中,方差和标准差函数会对数值参数返回DOUBLE值。SUM()和AVG()对精确值参数(integer或DECIMAL)返回DECIMAL值,而对近似值参数(FLOAT或DOUBLE)返回DOUBLE值。

时间类型的参数对SUM()和AVG()无效。它们会把时间类型的值转换成数字,丢弃第一个非数字字符后的所有信息)。如果要解决这个问题,先要将时间类型的值转换为合适的数值单元,在执行聚合操作后,再转换回时间值。如下所示:

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time_col))) FROMtbl_name;SELECT FROM_DAYS(SUM(TO_DAYS(date_col))) FROM tbl_name;

诸如SUM()和AVG()这样需要数值参数的函数,会对非数值参数做必要的强制转换。而对于SET或ENUM值,强制转换操作会导致使用基础数值。

BIT_AND(),BIT_OR()和BIT_XOR()聚合函数执行位操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值