sql - 如何从 bigquery 中的结构中删除行
问题描述
你能帮我解决我的问题吗,我是 Bigquery 的新手。
我有一个包含多个“记录”类型字段的表。我需要从其中一条记录中删除一行。考虑以下示例:
id date subid.id subid.flag
1234 1/4/2020 1234-1 1
1234-2 1
1234-3 1
1234-4 -1
5678 1/5/2020 5678-1 1
5678-2 1
我上面的要求是从带有标志-1的结构子ID中删除行。做这个的最好方式是什么 ?请帮忙。
解决方案
以下是 BigQuery 标准 SQL
#standardSQL
SELECT * EXCEPT(subid),
ARRAY(
SELECT AS VALUE subid
FROM t.subid WITH OFFSET
WHERE flag != -1
ORDER BY OFFSET
) AS subid
FROM `project.dataset.table` t
推荐阅读
- r - InternetOpenUrl 失败:“无法建立与服务器的连接”
- android - 如何在 android studio 中的每次更改中从范围滑块中获取价值?
- html - Flex 与子元素混淆
- linux - 将“cd folder/ls”更改为“cd folder/ && ls”的 ZSH 别名
- c# - 保存正确用户的功能问题 - 显示另一个用户(Sqlite.EF Asp.Net)
- json - 如何从 https 站点获取 json 文件/数据并在 postgres 数据库中使用它?
- javascript - 如何从 Flutter 调用 Javascript SDK
- ruby-on-rails - 为某些 rspec 请求设置默认参数
- ios - 使用 Codable 将空字符串解码为 nil
- r - 布尔表达式 - 如果 2 个或更多条件为真