ฟังก์ชัน SQL ที่อนุญาต

เพื่อความเป็นส่วนตัว เราจะจํากัดฟังก์ชัน SQL ที่คุณใช้ใน ADH ได้

ฟังก์ชัน Scalar

อนุญาตให้ใช้ฟังก์ชันสเกลาร์ทั้งหมดได้ ยกเว้นรายการต่อไปนี้

  • 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 ใช่

ฟังก์ชันของ Analytics

ฟังก์ชันการวิเคราะห์ทั้งหมดจะถูกจํากัด

การรวมระดับผู้ใช้

เราอนุญาตฟังก์ชันการวิเคราะห์และการรวมทั้งหมดในคําสั่ง 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

หากทําไม่ได้เพราะรหัสแยกต่างหากและไม่ได้เข้าร่วม คําค้นหาควรจัดกลุ่มหรือแบ่งพาร์ติชันตามรหัสอิสระทั้งหมด เช่นในตัวอย่างนี้

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

การค้นหารายชื่อผู้ใช้

อนุญาตให้ใช้ฟังก์ชันการค้นหาในการค้นหารายการผู้ใช้ และใช้ฟังก์ชันการวิเคราะห์ไม่ได้