1
我試圖使用新的標準SQL在Google BigQuery表的結構數組中找到具有重複字段的行。在表中的數據(簡體),每一行看起來有點像這樣:在數組中使用Structs獲取新的BigQuery標準SQL
{
"Session": "abc123",
"Information" [
{
"Identifier": "e8d971a4-ef33-4ea1-8627-f1213e4c67dc"
},
{
"Identifier": "1c62813f-7ec4-4968-b18b-d1eb8f4d9d26"
},
{
"Identifier": "e8d971a4-ef33-4ea1-8627-f1213e4c67dc"
}
]
}
我的最終目標是爲了顯示有Information
實體存在重複Identifier
值的行。然而,最讓我試圖得到以下形式的錯誤消息的查詢:
Cannot access field Identifier on a value with type ARRAY<STRUCT<Identifier STRING>>
有沒有辦法與ARRAY
內的STRUCT
裏面的數據?
這是我在查詢第一次嘗試:
SELECT
Session,
Information
FROM
`events.myevents`
WHERE
COUNT(DISTINCT Information.Identifier) != ARRAY_LENGTH(Information.Identifier)
LIMIT
1000
,並使用子查詢另一:
SELECT
Session,
Information
FROM (
SELECT
Session,
Information,
COUNT(DISTINCT Information.Identifier) AS info_count_distinct,
ARRAY_LENGTH(Information) AS info_count
FROM
`events.myevents`
WHERE
COUNT(DISTINCT Information.Identifier) != ARRAY_LENGTH(Information.Identifier)
LIMIT
1000)
WHERE
info_count != info_count_distinct
出示您的查詢(哪怕是示數),所以我們可以開始了的東西! –
當然可以!編輯這個問題以增加我做出的兩次嘗試。 – Aaron
你有機會檢查/嘗試我的答案嗎? –