【发布时间】:2020-07-22 14:42:23
【问题描述】:
我想知道如何通过从较大值中减去较小值来计算只有两个元素的数组中元素之间的差异。
我首先参考了 BQ 文档 (https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays#arrays_and_aggregation) 中的代码示例,我自己做了一些调整,只在数组中保留了 2 个元素。我知道这个例子是针对 SUM 的,但我想知道是否有办法修改它来计算差异。
WITH sequences AS
(SELECT [0, 5] AS some_numbers
UNION ALL SELECT [2, 32] AS some_numbers
UNION ALL SELECT [5, 10] AS some_numbers)
SELECT some_numbers,
(SELECT SUM(x)
FROM UNNEST(s.some_numbers) x) AS sums
FROM sequences s;
这些是我想要的结果。
+--------------------+------+
| some_numbers | diff |
+--------------------+------+
| [0, 5] | 5 |
| [2, 32] | 30 |
| [5, 15] | 10 |
+--------------------+------+
【问题讨论】:
-
@MikhailBerlyant 我很抱歉。我知道规则。我打算在选择一个之前通读所有答案,但是我有很多工作要做,最后忘记选择了。
标签: sql arrays google-bigquery