我想選擇在重複字段中具有更多感謝k值的行。 (考慮爲有3個以上的電子郵件地址,例如,選擇用戶)在BigQuery中重複字段中的值計數
在標準SQL我知道我可以使用
SELECT * FROM dataset.users
WHERE array_length(email_address) > 3
但什麼是BigQuery中遺留的SQL做到這一點的呢?
我想選擇在重複字段中具有更多感謝k值的行。 (考慮爲有3個以上的電子郵件地址,例如,選擇用戶)在BigQuery中重複字段中的值計數
在標準SQL我知道我可以使用
SELECT * FROM dataset.users
WHERE array_length(email_address) > 3
但什麼是BigQuery中遺留的SQL做到這一點的呢?
不需要子查詢;你應該能夠OMIT RECORD IF
直接進行過濾:
SELECT *
FROM dataset.users
OMIT RECORD IF COUNT(email_address) <= 3;
你介意評論你爲什麼要使用傳統的SQL有關係嗎?如果您遇到標準SQL的問題,我想了解它是什麼以便我們可以修復它。謝謝!
計數值在重複的領域BigQuery中
的BigQuery傳統的SQL
SELECT COUNT(email_address) WITHIN RECORD AS address_count
FROM [dataset.users]
如果你想然後再以數輸出行 - 您可以使用下面
SELECT COUNT(1) AS rows_count
FROM (
SELECT COUNT(email_address) WITHIN RECORD AS address_count
FROM [dataset.users]
)
WHERE address_count> 3
不,我沒有遇到任何標準SQL的問題,這只是因爲這是我係統中已經寫入傳統SQL的查詢的一部分,並且將整個查詢轉換爲標準SQL並不是完全直截了當。 –
謝謝!我很欣賞這些反饋。 –