我正在尝试将每个记录的多个字段(在本例中为三个字段)转换为多个记录中的单个字段。例如,如果架构是
userId, timestamp, field1, field2, field3
我想将其转换为
userId, timestamp, field
e.g。
abc123, 12:00:00, dog, dog, bird
abc789, 12:00:01, wolf, sheep, horse
会变成
abc123, 12:00:00, dog
abc123, 12:00:00, dog
abc123, 12:00:00, bird
abc789, 12:00:00, wolf
abc789, 12:00:00, sheep
abc789, 12:00:00, horse
排序无关紧要
这是因为这些字段的数据是并行捕获的,但我希望能够计算这些字段中特定值的显示次数,无论它们是在field1,field2还是field3中。具体来说,我希望能够计算出2只狗,1只,1只,1只,1只,1只,1只,1只羊和1匹马。
有什么建议吗?
答案 0 :(得分:3)
为了完整起见,您可以使用standard SQL(取消选中"使用传统SQL"框"显示选项")和数组文字来实现此目的;无需连接然后拆分。例如,
SELECT
userId,
timestamp,
[field1, field2, field3] AS field
FROM YourTable;
答案 1 :(得分:2)
for BigQuery Legacy SQL:
SELECT
userId,
timestamp,
SPLIT(CONCAT(field1, ',', field2, ',', field3)) AS field
FROM YourTable