openGauss学习笔记-25 openGauss 聚集函数

25.1 sum(expression)

描述:所有输入行的expression总和。

返回类型:

通常情况下输入数据类型和输出数据类型是相同的,但以下情况会发生类型转换:

  • 对于SMALLINT或INT输入,输出类型为BIGINT。
  • 对于BIGINT输入,输出类型为NUMBER 。
  • 对于浮点数输入,输出类型为DOUBLE PRECISION。

示例:

openGauss=# SELECT SUM(amount) FROM customer_t1;
  sum
-------
 14200
(1 row)

25.2 max(expression)

描述:所有输入行中expression的最大值。

参数类型:任意数组、数值、字符串、日期/时间类型、IPV4和IPV6地址(INET型和CIDR型)。

返回类型:与参数数据类型相同

示例:

openGauss=# SELECT MAX (c_customer_sk) FROM customer_t1;
 max
------
 9976
(1 row)

25.3 min(expression)

描述:所有输入行中expression的最小值。

参数类型:任意数组、数值、字符串、日期/时间类型、IPV4和IPV6地址(INET型和CIDR型)。

返回类型:与参数数据类型相同

示例:

openGauss=#  SELECT MIN (c_customer_sk) FROM customer_t1;
min
------
 3869
(1 row)

25.4 avg(expression)

描述:所有输入值的均值(算术平均)。

返回类型:

对于任何整数类型输入,结果都是NUMBER类型。

对于任何浮点输入,结果都是DOUBLE PRECISION类型。

否则和输入数据类型相同。

示例:

openGauss=# SELECT AVG(AMOUNT) FROM customer_t1;
          avg
-----------------------
 2366.6666666666666667
(1 row)

25.5 count(expression)

描述:返回表中满足expression不为NULL的行数。

返回类型:BIGINT

示例:

openGauss=# SELECT COUNT(c_customer_id) FROM customer_t1;
 count
-------
     7
(1 row)

25.6 count(*)

描述:返回表中的记录行数。

返回类型:BIGINT

示例:

openGauss=# SELECT COUNT(*) FROM customer_t1;
count
-------
     8
(1 row)

25.7 delta

描述:返回当前行和前一行的差值。

参数:numeric

返回值类型:numeric

25.8 mode() within group (order by value anyelement)

描述:返回某列中出现频率最高的值,如果多个值频率相同,则返回最小的那个值。排序方式和该列类型的默认排序方式相同。其中value为输入参数,可以为任意类型。

返回类型:与输入参数类型相同。

示例:

openGauss=# select mode() within group (order by value) from (values(1, 'a'), (2, 'b'), (2, 'c')) v(value, tag);
 mode
------
    2
(1 row)
openGauss=# select mode() within group (order by tag) from (values(1, 'a'), (2, 'b'), (2, 'c')) v(value, tag);
 mode
------
 a
(1 row)

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

图片