基於隱私權考量,我們會限制您可以在 ADH 中使用哪些 SQL 函式。
純量函式
系統允許下列所有純量函式:
ERROR
ST_AREA
ST_ASBINARY
ST_ASGEOJSON
ST_ASTEXT
ST_BOUNDARY
ST_CENTROID
ST_CENTROID_AGG
ST_CLOSESTPOINT
ST_CLUSTERDBSCAN
ST_CONTAINS
ST_CONVEXHULL
ST_COVEREDBY
ST_COVERS
ST_DIFFERENCE
ST_DIMENSION
ST_DISJOINT
ST_DISTANCE
ST_DUMP
ST_DWITHIN
ST_EQUALS
ST_GEOGFROMGEOJSON
ST_GEOGFROMTEXT
ST_GEOGFROMWKB
ST_GEOGPOINT
ST_GEOGPOINTFROMGEOHASH
ST_GEOHASH
ST_INTERSECTION
ST_INTERSECTS
ST_INTERSECTSBOX
ST_ISCOLLECTION
ST_ISEMPTY
ST_LENGTH
ST_MAKELINE
ST_MAKEPOLYGON
ST_MAKEPOLYGONORIENTED
ST_MAXDISTANCE
ST_NPOINTS
ST_NUMPOINTS
ST_PERIMETER
ST_SIMPLIFY
ST_SNAPTOGRID
ST_TOUCHES
ST_UNION
ST_UNION_AGG
ST_WITHIN
ST_X
ST_Y
分析查詢
如果是匯總分析查詢,我們會限制結合多個使用者資料的資料。處理單一使用者資料時,您可以使用所有匯總和分析函式。詳情請參閱下方的使用者層級匯總。
匯總函式
函式 | 是否允許? |
---|---|
ANY_VALUE |
是 |
APPROX_QUANTILES |
否 |
APPROX_TOP_COUNT |
否 |
APPROX_TOP_SUM |
否 |
ARRAY_AGG |
否 |
ARRAY_CONCAT_AGG |
否 |
AVG |
是 |
BIT_AND |
否 |
BIT_OR |
否 |
BIT_XOR |
否 |
COUNT |
是 |
COUNTIF |
是 |
LOGICAL_AND |
是 |
LOGICAL_OR |
是 |
MAX |
是 |
MIN |
是 |
SUM |
是 |
CORR |
是 |
COVAR_POP |
是 |
COVAR_SAMP |
是 |
STDDEV_POP |
是 |
STDDEV_SAMP |
是 |
STDDEV |
是 |
STRING_AGG |
否 |
VAR_POP |
是 |
VAR_SAMP |
是 |
VARIANCE |
是 |
APPROX_COUNT_DISTINCT |
是 |
分析函式
所有分析函式都會受到限制。
使用者層級匯總
我們允許在 SELECT
陳述式中依據 user_id
分組或分區的所有匯總和分析函式。為了讓上述資料順利運作,先前加入的彙整作業必須明確透過加入 user_id
的方式,將資料清楚儲存在使用者層級,如以下範例所示:
SELECT ARRAY_AGG(campaign_id ORDER BY query_id.time_usec) AS path
FROM
adh.google_ads_impressions
LEFT JOIN adh.google_ads_clicks USING(query_id, user_id)
GROUP BY user_id
如果這些 ID 是獨立的,而且無法彙整,則無法合併查詢,則查詢應依所有獨立 ID 進行分組或分區,如以下範例所示:
SELECT
a.user_id AS user_a,
b.user_id AS user_b,
ARRAY_AGG(DISTINCT campaign_id) campaigns
FROM
adh.google_ads_impressions a
JOIN adh.google_ads_impressions b USING (campaign_id)
GROUP BY 1, 2
使用者名單查詢
使用者清單查詢可以支援匯總函式,但不支援分析函式。