Appearance
数组相关函数
以下所有的函数
表达式中参数说明:
expr :表达式
columnName :字段名
array_min
返回 array
中的最小值,如果 array
为非数组的基本类型,则返回自身
语法
sql
array_min(array: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回类型按传入参数类型判断
示例
查询:
sql
SELECT array_min(1)
SELECT array_min({1,2,3})
结果:
text
┌─array_min(1)────────────────────┐
│ 1 │
└─────────────────────────────────┘
text
┌─array_min({1,2,3})──────────────┐
│ 1 │
└─────────────────────────────────┘
array_max
返回 array
中的最大值,如果 array
为非数组的基本类型,则返回自身
语法
sql
array_max(array: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回类型按传入参数类型判断
示例
查询:
sql
SELECT array_max(1)
SELECT array_max({1,2,3})
结果:
text
┌─array_max(1)────────────────────┐
│ 1 │
└─────────────────────────────────┘
text
┌─array_max({1,2,3})──────────────┐
│ 3 │
└─────────────────────────────────┘
array_sum
返回 array
的和,如果 array
为非数组的基本类型,则返回自身
语法
sql
array_sum(array: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回类型按传入参数类型判断
示例
查询:
sql
SELECT array_sum(1)
SELECT array_sum({1,2,3})
结果:
text
┌─array_sum(1)────────────────────┐
│ 1 │
└─────────────────────────────────┘
text
┌─array_sum({1,2,3})──────────────┐
│ 6 │
└─────────────────────────────────┘
array_avg
返回 array
中的平均值,如果 array
为非数组的基本类型,则返回自身
语法
sql
array_avg(array: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回类型按传入参数类型判断
示例
查询:
sql
SELECT array_avg(1)
SELECT array_avg({1,2,3})
结果:
text
┌─array_avg(1)────────────────────┐
│ 1 │
└─────────────────────────────────┘
text
┌─array_avg({1,2,3})──────────────┐
│ 2 │
└─────────────────────────────────┘
array_count
返回 array
的长度,如果 array
为非数组的基本类型,则返回 1
语法
sql
array_count(array: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回类型按传入参数类型判断
示例
查询:
sql
SELECT array_count(1)
SELECT array_count({1,2,3})
结果:
text
┌─array_count(1)──────────────────┐
│ 1 │
└─────────────────────────────────┘
text
┌─array_count({1,2,3})────────────┐
│ 3 │
└─────────────────────────────────┘
magus_array
获取数组 e
中的值
如果 from = -1
,则返回数组 e
中的最后一个下标的值
如果 to
不存在,则返回数组 e
在第 from
下标的值,返回值类型依据 e 的类型,如 e
为 VtInt8Array
,则返回值类型为 VtInt8
如果 to
小于 from
,则会报错
如果 to - from > 1
,则返回数组 e
中从 from
到 to
的值,此时该表达式不能用作比较
语法
sql
magus_array(e expr | columnName, from expr | columnName[, to expr | columnName])
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回类型按传入参数类型判断
示例
查询:
sql
SELECT magus_array({1,2,3}, 1, 2)
SELECT magus_array({1,2,3}, 0, 2)
结果:
text
┌─magus_array({1,2,3}, 1, 2)──────┐
│ 2 │
└─────────────────────────────────┘
text
┌─magus_array({1,2,3}, 0, 2)───────────┐
│ {1, 2} │
└──────────────────────────────────────┘