更新时间:2024-11-11 GMT+08:00

聚合函数

表1 聚合函数列表

序号

MySQL数据库

GaussDB数据库

差异

1

AVG()

支持,有差异。

  • GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不保证结果的顺序。
  • GaussDB中当expr中的列为BIT、BOOL、整数类型,且所有行的和超过BIGINT的范围时,会发生溢出导致整数翻转。

2

BIT_AND()

支持。

-

3

BIT_OR()

支持。

-

4

BIT_XOR()

支持。

-

5

COUNT()

支持,有差异。

GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不保证结果的顺序。

6

GROUP_CONCAT()

支持,有差异。

  • GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不保证结果的顺序。
  • GaussDB中当GROUP_CONCAT参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。
  • GaussDB中GROUP_CONCAT(... ORDER BY 数字)不代表按照第几个参数的顺序,数字只是一个常量表达式,相当于不排序。
  • GaussDB中使用参数group_concat_max_len限制GROUP_CONCAT最大返回长度,超长截断,目前能返回的最大长度是1073741823,小于MySQL。

7

MAX()

支持,有差异。

GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不保证结果的顺序。当参数为非表字段时,MAX函数返回值类型和MySQL 5.7不一致。

8

MIN()

支持,有差异。

GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不保证结果的顺序。当参数为非表字段时,MIN函数返回值类型和MySQL 5.7不一致。

9

SUM()

支持,有差异。

  • GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不保证结果的顺序。
  • GaussDB中当expr中的列为BIT、BOOL、整数类型,且所有行的和超过BIGINT的范围时,会发生溢出导致整数翻转。