BQ 中是否有 QUALIFY 子句?我正在嘗試運行以下查詢以嘗試提取單個最流行的 Route 值,以便可以將其嵌套在另一個查詢的 WHERE 子句中:
WITH table AS (
SELECT 'Point A' as Origin, 'Point B' as Destination, A as Route
FROM UNNEST(['Highway', 'Backroad', 'Highway', 'Highway', 'Backroad']) as A
)
SELECT
DISTINCT Route
FROM
table
WHERE
Origin = 'Point A' AND
Destination = 'Point B'
QUALIFY RANK() OVER (PARTITION BY Origin, Destination ORDER BY COUNT(*) DESC) = 1
我有的
我想要的(最常用的路線)
并得到這個一般錯誤:
運行查詢時出錯 發生內部錯誤,無法完成請求。這通常是由暫時性問題引起的。按照 BigQuery SLA 中的描述使用回退重試作業應該可以解決問題:https ://cloud.google.com/bigquery/sla 。如果錯誤繼續發生,請通過 https://cloud.google.com/support聯系支持人員。錯誤:80038528
如果有更好的方法可以做到這一點,請告訴我。在評估最流行的值之后,我需要一種有效的方法來提取單行和列,最好不要嵌套查詢。
這是 BQ QUALIFY 子句檔案。
uj5u.com熱心網友回復:
考慮以下方法
SELECT
DISTINCT Route
FROM
table
WHERE
Origin = 'Point A' AND
Destination = 'Point B'
GROUP BY
Origin, Destination, Route
QUALIFY
RANK() OVER (PARTITION BY Origin, Destination ORDER BY COUNT(*) DESC) = 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/413622.html
標籤:
