

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 数组函数
<a name="array-functions"></a>

的 Timestream LiveAnalytics 支持以下数组函数。


| 函数 | 输出数据类型 | 说明 | 
| --- | --- | --- | 
| array\_distinct(x) | array | 从数组 x 中删除重复值。<pre>SELECT array_distinct(ARRAY[1,2,2,3])</pre><br />示例结果：`[ 1,2,3 ]` | 
| array\_intersect(x, y) | array | 返回包含 x 和 y 交集元素的数组，且不含重复项。<pre>SELECT array_intersect(ARRAY[1,2,3], ARRAY[3,4,5])</pre><br />示例结果：`[ 3 ]` | 
| array\_union(x, y) | array | 返回包含 x 和 y 并集元素的数组，且不含重复项。<pre>SELECT array_union(ARRAY[1,2,3], ARRAY[3,4,5])</pre><br />示例结果：`[ 1,2,3,4,5 ]` | 
| array\_except(x, y) | array | 返回数组，包含 x 中的元素，但不包含 y 中的元素，且不包含重复项。<pre>SELECT array_except(ARRAY[1,2,3], ARRAY[3,4,5])</pre><br />示例结果：`[ 1,2 ]` | 
| array\_join(x, delimiter, null\_replacement)  | varchar | 使用分隔符和可选字符串连接给定数组的元素以替换 null 值。<pre>SELECT array_join(ARRAY[1,2,3], ';', '')</pre><br />示例结果：`1;2;3` | 
| array\_max(x) | 与数组元素相同 | 返回输入数组中的最大值。<pre>SELECT array_max(ARRAY[1,2,3])</pre><br />示例结果：`3` | 
| array\_min(x) | 与数组元素相同 | 返回输入数组中的最小值。<pre>SELECT array_min(ARRAY[1,2,3])</pre><br />示例结果：`1` | 
| array\_position(x, element) | bigint | 返回元素在数组 x 中首次出现的位置（如果未找到，则返回 0）。<pre>SELECT array_position(ARRAY[3,4,5,9], 5)</pre><br />示例结果：`3` | 
| array\_remove(x, element) | array | 从数组 x 中移除所有等于元素的元素。<pre>SELECT array_remove(ARRAY[3,4,5,9], 4)</pre><br />示例结果：`[ 3,5,9 ]` | 
| array\_sort(x) | array | 对数组 x 进行排序并返回。x 的元素必须可排序。Null 元素将放置在返回数组的末尾。<pre>SELECT array_sort(ARRAY[6,8,2,9,3])</pre><br />示例结果：`[ 2,3,6,8,9 ]` | 
| arrays\_overlap(x, y)  | 布尔值 | 测试数组 x 和 y 是否有共同的非 null 元素。如果没有共同的非 null 元素，但任何一个数组包含 null 值，则返回 null。<pre>SELECT arrays_overlap(ARRAY[6,8,2,9,3], ARRAY[6,8])</pre><br />示例结果：`true` | 
| cardinality(x) | bigint | 返回数组 x 的大小。<pre>SELECT cardinality(ARRAY[6,8,2,9,3])</pre><br />示例结果：`5` | 
| concat(array1, array2, ..., arrayN) | array | 连接数组 array1、array2、...、arrayN。<pre>SELECT concat(ARRAY[6,8,2,9,3], ARRAY[11,32], ARRAY[6,8,2,0,14])</pre><br />示例结果：`[ 6,8,2,9,3,11,32,6,8,2,0,14 ]` | 
| element\_at(array(E), index) | E | 返回数组中指定索引处的元素。如果索引 < 0，则 element\_at 从最后一个元素开始访问直至第一个元素。<pre>SELECT element_at(ARRAY[6,8,2,9,3], 1)</pre><br />示例结果：`6` | 
| repeat(element, count)  | array | 重复元素计数次数。<pre>SELECT repeat(1, 3)</pre><br />示例结果：`[ 1,1,1 ]` | 
| reverse(x) | array | 返回一个数组，其顺序与数组 x 的顺序相反。<pre>SELECT reverse(ARRAY[6,8,2,9,3])</pre><br />示例结果：`[ 3,9,2,8,6 ]` | 
| sequence(start, stop) | array(bigint) | 生成从 start 到 stop 的整数序列，如果 start 小于或等于 stop，则以 1 为增量，否则以 -1 为增量。<pre>SELECT sequence(3, 8)</pre><br />示例结果：`[ 3,4,5,6,7,8 ]` | 
| sequence(start, stop, step)  | array(bigint) | 生成从 start 到 stop 的整数序列，以 step 为增量。<pre>SELECT sequence(3, 15, 2)</pre><br />示例结果：`[ 3,5,7,9,11,13,15 ]` | 
| sequence(start, stop)  | array(timestamp) | 生成从 start date 到 stop date 的时间戳序列，以 1 天为增量。<pre>SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-06 19:26:12.941000000', 1d)</pre><br />示例结果：`[ 2023-04-02 19:26:12.941000000,2023-04-03 19:26:12.941000000,2023-04-04 19:26:12.941000000,2023-04-05 19:26:12.941000000,2023-04-06 19:26:12.941000000 ]` | 
| sequence(start, stop, step)  | array(timestamp) | 生成从 start 到 stop 的时间戳序列，以 step 为增量。step 的数据类型是间隔。<pre>SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-10 19:26:12.941000000', 2d)</pre><br />示例结果：`[ 2023-04-02 19:26:12.941000000,2023-04-04 19:26:12.941000000,2023-04-06 19:26:12.941000000,2023-04-08 19:26:12.941000000,2023-04-10 19:26:12.941000000 ]` | 
| shuffle(x) | array | 生成给定数组 x 的随机排列。<pre>SELECT shuffle(ARRAY[6,8,2,9,3])</pre><br />示例结果：`[ 6,3,2,9,8 ]` | 
| slice(x, start, length) | array | 子集数组 x 从索引开头开始（如果起始为负数，则从末尾开始），长度为 length。<pre>SELECT slice(ARRAY[6,8,2,9,3], 1, 3)</pre><br />示例结果：`[ 6,8,2 ]` | 
| zip(array1, array2[, ...]) | array(row) | 按元素将给定数组合并为单个行数组。如果参数长度不一致，则用 NULL 填充缺失值。<pre>SELECT zip(ARRAY[6,8,2,9,3], ARRAY[15,24])</pre><br />示例结果：`[ ( 6, 15 ),( 8, 24 ),( 2, - ),( 9, - ),( 3, - ) ]` | 