google-bigquery - 带循环的 BigQuery UDF
问题描述
我想要一个 BigQuery (SQL) 中的函数示例,以便查看创建此类函数所需的语法:在 BigQuery 中创建一个函数,使用 SQL(而不是 JavaScript),其中在内部创建一个数组和循环以进行迭代这个数组,将数组的值相加并返回结果和(int64)。
解决方案
以下是 BigQuery 标准 SQL
BigQuery (SQL) 中的函数示例,它“循环”通过数组的元素并产生其元素的总和
create temp function sum_array(a array<INT64>) as ((
select sum(element) from unnest(a) element
));
以下是使用简化虚拟数据的此类功能的示例
#standardSQL
create temp function sum_array(a array<INT64>) as ((
select sum(element) from unnest(a) element
));
with `project.dataset.table` as (
select 1 id, [1, 2, 3, 4, 5,6 ] arr union all
select 2, [1, 3, 5, 7, 9] union all
select 3, [2, 4]
)
select id, sum_array(arr) sum_elements_of_array
from `project.dataset.table`
order by id
带输出
推荐阅读
- ios - SFSafariviewcontroller - UIApplication sendEvent 不工作
- excel - 即具有相同ID的getelementsbyID
- laravel - Laravel 和 spatie/laravel-permission
- python - 如何解一个有两个变量的方程
- excel - VBA对特定单元格的值求和
- php - Magento 付款表格
- api - 在 AzureDevOps API 的 Invoke-RestMethod 上传递凭据以检索用户
- javascript - 基于输入启用按钮 - Angular/Typescript
- javascript - 如何向扩展 Kendo 组合框的组合框添加新参数?
- html - 为什么位置的相对值不显示图像?