Hàm SQL được phép

Vì lý do về quyền riêng tư, chúng tôi hạn chế những hàm SQL mà bạn có thể dùng trong ADH.

Hàm vô hướng

Tất cả các hàm vô hướng ngoại trừ những hàm sau đều được cho phép:

  • 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

Truy vấn phân tích

Đối với các truy vấn phân tích tổng hợp, chúng tôi hạn chế các hàm kết hợp dữ liệu từ nhiều người dùng. Tất cả các hàm tổng hợp và phân tích đều được cho phép khi xử lý một dữ liệu người dùng duy nhất. Xem nội dung Tổng hợp cấp người dùng dưới đây để biết thông tin chi tiết.

Hàm tổng hợp

Chức năng Được phép?
ANY_VALUE
APPROX_QUANTILES Không
APPROX_TOP_COUNT Không
APPROX_TOP_SUM Không
ARRAY_AGG Không
ARRAY_CONCAT_AGG Không
AVG
BIT_AND Không
BIT_OR Không
BIT_XOR Không
COUNT
COUNTIF
LOGICAL_AND
LOGICAL_OR
MAX
MIN
SUM
CORR
COVAR_POP
COVAR_SAMP
STDDEV_POP
STDDEV_SAMP
STDDEV
STRING_AGG Không
VAR_POP
VAR_SAMP
VARIANCE
APPROX_COUNT_DISTINCT

Hàm phân tích

Mọi hàm phân tích đều bị hạn chế.

Tổng hợp cấp người dùng

Chúng tôi cho phép tất cả hàm tổng hợp và phân tích trong các câu lệnh SELECT phân nhóm hoặc phân vùng theo user_id. Để làm được việc này, mọi đường liên kết trước đó phải làm rõ rằng dữ liệu được giữ ở cấp người dùng bằng cách tham gia trên user_id, như trong ví dụ sau:

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

Nếu không thể thực hiện việc này vì các mã này riêng biệt và không tham gia, thì truy vấn phải nhóm hoặc phân vùng theo tất cả các mã nhận dạng độc lập, như trong ví dụ này:

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

Truy vấn danh sách người dùng

Trong các truy vấn danh sách người dùng, các hàm tổng hợp được cho phép và các hàm phân tích không được hỗ trợ.