更新时间:2022-07-04 GMT+08:00

聚合函数

聚合函数是从一组输入值计算一个结果。例如使用COUNT函数计算SQL查询语句返回的记录行数。聚合函数如表1所示。

示例数据:表T1
|score|
|81   |
|100  |
|60   |
|95   |
|86   |

常用聚合函数

表1 常用聚合函数表

函数

返回值类型

描述

COUNT(*)

BIGINT

返回元组个数。

COUNT([ ALL ] expression...

BIGINT

返回表达式不为NULL的输入行数。对每个值的一个唯一实例使用DISTINCT。

AVG(numeric)

DOUBLE

返回所有输入值的数字的平均值(算术平均值)。

SUM(numeric)

DOUBLE

返回所有输入值之间的数值之和。

MAX(value)

DOUBLE

返回所有输入值的值的最大值。

MIN(value)

DOUBLE

返回所有输入值的值的最小值。

STDDEV_POP(value)

DOUBLE

返回所有输入值之间的数字字段的总体标准偏差。

STDDEV_SAMP(value)

DOUBLE

返回所有输入值之间的数字字段的样本标准偏差。

VAR_POP(value)

DOUBLE

返回所有输入值之间的数字字段的总体方差(总体标准偏差的平方)。

VAR_SAMP(value)

DOUBLE

返回所有输入值之间的数字字段的样本方差(样本标准偏差的平方)。

示例

  • COUNT(*)
    • 测试语句:
      SELECT COUNT(score) FROM T1;
    • 测试数据和结果
      表2 T1

      测试数据(score)

      测试结果

      81

      5

      100

      60

      95

      86

  • COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*)
    • 测试语句:
      SELECT COUNT(DISTINCT content ) FROM T1;
    • 测试数据和结果
      表3 T1

      content (STRING)

      测试结果

      "hello1 "

      2

      "hello2 "

      "hello2"

      null

      86

  • AVG(numeric)
    • 测试语句:
      SELECT AVG(score) FROM T1;
    • 测试数据和结果
      表4 T1

      测试数据(score)

      测试结果

      81

      84.0

      100

      60

      95

      86

  • SUM(numeric)
    • 测试语句:
      SELECT SUM(score) FROM T1;
    • 测试数据和结果
      表5 T1

      测试数据(score)

      测试结果

      81

      422.0

      100

      60

      95

      86

  • MAX(value)
    • 测试语句:
      SELECT MAX(score) FROM T1;
    • 测试数据和结果
      表6 T1

      测试数据(score)

      测试结果

      81

      100.0

      100

      60

      95

      86

  • MIN(value)
    • 测试语句:
      SELECT MIN(score) FROM T1;
    • 测试数据和结果
      表7 T1

      测试数据(score)

      测试结果

      81

      60.0

      100

      60

      95

      86

  • STDDEV_POP(value)
    • 测试语句:
      SELECT STDDEV_POP(score) FROM T1;
    • 测试数据和结果
      表8 T1

      测试数据(score)

      测试结果

      81

      13.0

      100

      60

      95

      86

  • STDDEV_SAMP(value)
    • 测试语句:
      SELECT STDDEV_SAMP(score) FROM T1;
    • 测试数据和结果
      表9 T1

      测试数据(score)

      测试结果

      81

      15.0

      100

      60

      95

      86

  • VAR_POP(value)
    • 测试语句:
      SELECT VAR_POP(score) FROM T1;
    • 测试数据和结果
      表10 T1

      测试数据(score)

      测试结果

      81

      193.0

      100

      60

      95

      86

  • VAR_SAMP(value)
    • 测试语句:
      SELECT VAR_SAMP(score) FROM T1;
    • 测试数据和结果
      表11 T1

      测试数据(score)

      测试结果

      81

      241.0

      100

      60

      95

      86