View a markdown version of this page

SQL capabilities for minimum aggregation and comparison controls - AWS Clean Rooms

SQL capabilities for minimum aggregation and comparison controls

The following table lists the supported and unsupported SQL constructs and functions when a custom analysis rule uses minimum aggregation thresholds and comparison controls in the Spark analytics engine. Function categories follow the AWS Clean Rooms Spark SQL reference.

Category SQL construct Supported Common table expressions (CTEs) Final SELECT clause
Query constructs
  • CACHE TABLE

  • Query hints

  • Analysis template (parameterized queries)

Yes Supported Supported
Clauses
  • SELECT

  • SELECT DISTINCT

  • FROM

  • FROM SUBQUERY

  • FROM INLINE TABLE (VALUES)

  • WHERE

  • GROUP BY

  • HAVING

  • ORDER BY

  • WITH (CTE)

Yes Supported Supported
  • GROUP BY CUBE

  • GROUP BY ROLLUP

  • GROUP BY GROUPING SETS

  • EXISTS

  • CLUSTER BY

  • DISTRIBUTE BY

  • SORT BY

  • LATERAL JOIN

  • PIVOT / UNPIVOT

  • WITH RECURSIVE

No
Join clauses
  • JOIN INNER

  • JOIN LEFT

  • JOIN FULL OUTER

  • JOIN CROSS

  • JOIN RIGHT

  • JOIN NATURAL

Yes Supported Supported
  • JOIN LEFT SEMI

  • JOIN LEFT ANTI

No
Set operators
  • UNION

  • UNION ALL

Yes Supported Supported
  • EXCEPT

  • EXCEPT ALL

  • INTERSECT

  • INTERSECT ALL

No
Sort and row limits
  • ORDER BY ASC / DESC

  • ORDER BY NULLS FIRST

  • ORDER BY NULLS LAST

  • LIMIT

Yes Supported Supported
  • OFFSET

No
Conditions
  • =

  • != / <>

  • <

  • <=

  • >

  • >=

  • IN

  • NOT IN

  • LIKE

  • NOT LIKE

  • RLIKE

  • BETWEEN

  • IS TRUE / IS FALSE

  • AND

  • OR

  • NOT

  • IS DISTINCT FROM

Yes Supported Supported
  • <=> (null-safe equality)

No
Aggregate functions
  • AVG function

  • COUNT function

  • COUNT DISTINCT function

  • SUM function

  • MIN function

  • MAX function

  • STDDEV / STDDEV_SAMP functions

  • STDDEV_POP function

  • VAR_SAMP / VARIANCE functions

  • VAR_POP function

  • SKEWNESS function

  • APPROX_COUNT_DISTINCT function

  • COLLECT_LIST function

  • COLLECT_SET function

  • PERCENTILE function

  • APPROX_PERCENTILE function

  • MEDIAN function

Yes Supported

When an aggregation threshold is set: MIN, MAX, PERCENTILE, APPROX_PERCENTILE, MEDIAN, COLLECT_LIST, and COLLECT_SET must be combined with a qualifying aggregation (AVG, COUNT, SUM). They cannot be used as a standalone aggregation.

When only comparison controls are set: no such restriction.

All other aggregate functions are supported.

  • ANY_VALUE function

  • BOOL_AND function

  • BOOL_OR function

No
Array functions
  • ARRAY function

  • ARRAY_CONTAINS function

  • ARRAY_DISTINCT function

  • ARRAY_INTERSECT function

  • ARRAY_JOIN function

  • ARRAY_REMOVE function

  • ARRAY_SORT function

  • ARRAY_UNION function

  • FLATTEN function

  • EXPLODE function

Yes Supported Supported
  • ARRAY_EXCEPT function

No
Conditional expressions
  • IS NULL function

  • IS NOT NULL function

  • GREATEST function

  • LEAST function

  • CASE / WHEN functions

  • IF function

  • COALESCE function

  • NULLIF function

  • NVL function

  • NVL2 function

Yes Supported Supported
Constructor functions
  • STRUCT function

  • NAMED_STRUCT function

  • MAP function

Yes Supported Supported
Data type formatting functions
  • STR_TO_MAP function

  • BASE64 function

  • UNBASE64 function

  • HEX function

  • UNHEX function

  • TO_DATE function

  • DECODE function

  • ENCODE function

  • CAST function

Yes Supported Supported
  • TO_CHAR function

  • TO_NUMBER function

No
Date and time functions
  • CURRENT_DATE function

  • CURRENT_TIMESTAMP function

  • TO_TIMESTAMP function

  • DATE_DIFF function

  • DATE_TRUNC function

  • DATE_PART function

  • EXTRACT function

  • CONVERT_TIMEZONE function

  • FROM_UTC_TIMESTAMP function

  • TIMESTAMP function

  • DAY / DAYOFMONTH functions

  • DAYOFWEEK function

  • WEEKOFYEAR function

  • MONTH function

  • YEAR function

  • HOUR function

  • MINUTE function

  • SECOND function

Yes Supported Supported
  • DAYOFYEAR function

  • DATE_ADD function

  • ADD_MONTHS function

No
Hash functions
  • MD5 function

  • SHA function

  • SHA1 function

  • SHA2 function

  • XXHASH64 function

Yes Supported Supported
JSON functions
  • GET_JSON_OBJECT function

  • TO_JSON function

Yes Supported Supported
Math functions
  • ABS function

  • CEIL / CEILING functions

  • FLOOR function

  • ROUND function

  • LN function

  • LOG / LOG10 functions

  • POWER function

  • SQRT function

  • RAND / RANDOM functions

  • EXP function

  • SIGN function

  • TRUNC function

Yes Supported Supported
  • TRUNCATE function

  • CBRT function

  • PI function

  • RADIANS function

  • ACOS function

  • ASIN function

  • ATAN function

  • ATAN2 function

  • COS function

  • COT function

  • SIN function

  • DEGREES function

No
Mathematical operator symbols
  • +

  • -

  • *

  • /

  • %

Yes Supported Supported
Scalar functions
  • CARDINALITY function

  • SIZE function

Yes Supported Supported
String functions
  • CONCAT function

  • LOWER function

  • UPPER function

  • LENGTH / CHAR_LENGTH / CHARACTER_LENGTH functions

  • SUBSTR / SUBSTRING functions

  • TRIM function

  • BTRIM function

  • LTRIM function

  • RTRIM function

  • POSITION function

  • REPLACE function

  • REPEAT function

  • REGEXP_REPLACE function

  • REGEXP_SUBSTR function

  • SPLIT function

  • FORMAT_STRING function

  • UUID function

  • LPAD function

  • RPAD function

  • LEFT function

  • RIGHT function

Yes Supported Supported
  • REVERSE function

  • TRANSLATE function

  • REGEXP_COUNT function

  • REGEXP_INSTR function

  • SPLIT_PART function

No
Privacy-related functions
  • consent_tcf_v2_decode function

  • consent_gpp_v1_decode function

Yes Supported Supported
Window functions
  • ROW_NUMBER function

  • RANK function

  • DENSE_RANK function

  • LAG function

  • LEAD function

  • Window AVG function

  • Window COUNT function

  • Window SUM function

  • Window MIN function

  • Window MAX function

  • Window STDDEV_POP function

  • Window STDDEV_SAMP function

  • Window VAR_POP function

  • Window VAR_SAMP function

  • Window SKEWNESS function

  • Window APPROX_COUNT_DISTINCT function

  • Window APPROX_PERCENTILE function

  • Window PERCENTILE function

Yes Supported

When an aggregation threshold is set: LAG, LEAD, Window MIN, Window MAX, Window APPROX_PERCENTILE, and Window PERCENTILE must be combined with a qualifying aggregation. They cannot be used as a standalone value.

When only comparison controls are set: no such restriction.

All other window functions are supported.

  • FIRST / FIRST_VALUE functions

  • LAST / LAST_VALUE functions

  • NTH_VALUE function

  • CUME_DIST function

  • PERCENT_RANK function

  • NTILE function

No
Encryption and decryption functions
  • AES_ENCRYPT function

  • AES_DECRYPT function

No
Hyperloglog functions
  • HLL_SKETCH_AGG function

  • HLL_UNION_AGG function

  • HLL_SKETCH_ESTIMATE function

  • HLL_UNION function

No