Fungsi SQL yang diizinkan

Karena alasan privasi, kami membatasi fungsi SQL yang dapat Anda gunakan di ADH.

Fungsi skalar

Semua fungsi skalar kecuali hal berikut ini diizinkan:

  • 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

Kueri analisis

Untuk kueri analisis gabungan, kami membatasi fungsi yang menggabungkan data dari beberapa pengguna. Semua fungsi analisis dan agregat diizinkan saat memproses satu data pengguna. Lihat Agregasi tingkat pengguna di bawah untuk mengetahui detailnya.

Fungsi agregat

Fungsi Diizinkan?
ANY_VALUE Ya
APPROX_QUANTILES Tidak
APPROX_TOP_COUNT Tidak
APPROX_TOP_SUM Tidak
ARRAY_AGG Tidak
ARRAY_CONCAT_AGG Tidak
AVG Ya
BIT_AND Tidak
BIT_OR Tidak
BIT_XOR Tidak
COUNT Ya
COUNTIF Ya
LOGICAL_AND Ya
LOGICAL_OR Ya
MAX Ya
MIN Ya
SUM Ya
CORR Ya
COVAR_POP Ya
COVAR_SAMP Ya
STDDEV_POP Ya
STDDEV_SAMP Ya
STDDEV Ya
STRING_AGG Tidak
VAR_POP Ya
VAR_SAMP Ya
VARIANCE Ya
APPROX_COUNT_DISTINCT Ya

Fungsi analisis

Semua fungsi analisis dibatasi.

Agregasi tingkat pengguna

Kami mengizinkan semua fungsi agregat dan analisis dalam pernyataan SELECT yang mengelompokkan atau mempartisi berdasarkan user_id. Agar dapat berfungsi, setiap penggabungan sebelumnya harus memperjelas bahwa data disimpan di tingkat pengguna dengan bergabung di user_id, seperti dalam contoh ini:

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

Jika hal ini tidak memungkinkan karena ID-nya terpisah dan tidak bergabung, kueri harus mengelompokkan atau mempartisi berdasarkan semua ID independen, seperti dalam contoh ini:

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

Kueri daftar pengguna

Dalam kueri daftar pengguna, fungsi gabungan diizinkan, dan fungsi analisis tidak didukung.