允許的 SQL 函式

基於隱私權考量,我們會限制您可以在 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

使用者名單查詢

使用者清單查詢可以支援匯總函式,但不支援分析函式。