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 |
Có |
APPROX_QUANTILES |
Không |
APPROX_TOP_COUNT |
Không |
APPROX_TOP_SUM |
Không |
ARRAY_AGG |
Không |
ARRAY_CONCAT_AGG |
Không |
AVG |
Có |
BIT_AND |
Không |
BIT_OR |
Không |
BIT_XOR |
Không |
COUNT |
Có |
COUNTIF |
Có |
LOGICAL_AND |
Có |
LOGICAL_OR |
Có |
MAX |
Có |
MIN |
Có |
SUM |
Có |
CORR |
Có |
COVAR_POP |
Có |
COVAR_SAMP |
Có |
STDDEV_POP |
Có |
STDDEV_SAMP |
Có |
STDDEV |
Có |
STRING_AGG |
Không |
VAR_POP |
Có |
VAR_SAMP |
Có |
VARIANCE |
Có |
APPROX_COUNT_DISTINCT |
Có |
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ợ.