arrays - 如何对 BigQuery 数组进行切片 - 选择除最后一个以外的所有项目
问题描述
我有一个数组
SELECT [1,2,3]
我想选择除最后一个以外的所有元素,所以返回
SELECT [1,2]
我该怎么做?
解决方案
以下是 BigQuery 标准 SQL
#standardSQL
WITH test AS (
SELECT [1,2,3] original_array UNION ALL
SELECT [101,102,103, 104, 105]
)
SELECT original_array,
ARRAY(
SELECT * EXCEPT(OFFSET)
FROM test.original_array WITH OFFSET
WHERE OFFSET < ARRAY_LENGTH(test.original_array) - 1
) new_array
FROM test
结果
Row original_array new_array
1 1 1
2 2
3
2 101 101
102 102
103 103
104 104
105
推荐阅读
- javascript - 为什么我不能将 `push` 作为 foreach 函数传递?
- javascript - three.js 中的样条偏移
- ios - 如何在 swift 4 中创建 DateAndTime 选择器,以便用户能够同时选择日期和时间
- python-3.x - 数据透视表中每个级别的小计
- python - 在远程服务器上运行 Spyder /Python
- java - 我正在研究一些java,试图制作Big Bang系列Rock Paper系列
- vb.net - 使用自定义比较器实例化继承的 SortedDictionary 的 VB.NET 语法
- html - 可调整大小的固定顶部导航菜单
- web - 每个屏幕/页面的线框
- websocket - 接收命令并将其发送回所有连接的客户端的 Websocket 服务器