1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述

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

时间:2020-11-05 13:24:04

相关推荐

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

MySQL版本:5.7+

一、MySQL 5.7中的聚合函数

MySQL 5.7中的聚合函数如下:

除非另有说明,否则组合函数会忽略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()聚合函数执行位操作。它们需要BIGINT

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。