

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Capacidades de SQL para controles mínimos de agregación y comparación
<a name="custom-sql-capabilities"></a>

En la siguiente tabla se enumeran las construcciones y funciones de SQL compatibles y no compatibles cuando una regla de análisis personalizada utiliza umbrales de agregación y controles de comparación mínimos en el motor de análisis de Spark. Las categorías de funciones siguen la referencia de SQL de AWS Clean Rooms Spark.


| Categoría | Constructo SQL  |  compatible | Expresiones de tabla comunes (CTE) | Una cláusula SELECT final | 
| --- |--- |--- |--- |--- |
| Construcciones de consulta |  + CACHE TABLE<br />+ Sugerencias de consulta.<br />+ Plantilla de análisis (consultas parametrizadas)  | Sí | Soportado |  compatible | 
| Cláusulas |  + SELECT<br />+ SELECT DISTINCT<br />+ FROM<br />+ FROMSUBCONSULTA<br />+ FROMTABLA EN LÍNEA (VALORES)<br />+ WHERE<br />+ GROUP BY<br />+ HAVING<br />+ ORDER BY<br />+ WITH(CTE)  | Sí | Soportado |  compatible | 
|  + GROUP BY CUBE<br />+ GROUP BY ROLLUP<br />+ GROUP BY GROUPING SETS<br />+ EXISTS<br />+ CLUSTER BY<br />+ DISTRIBUTE BY<br />+ SORT BY<br />+ LATERAL JOIN<br />+ PIVOT / UNPIVOT<br />+ WITH RECURSIVE  | No | — | — | 
| Cláusulas conjuntas |  + JOIN INNER<br />+ JOIN LEFT<br />+ JOIN FULL OUTER<br />+ JOIN CROSS<br />+ JOIN RIGHT<br />+ JOIN NATURAL  | Sí | Soportado |  compatible | 
|  + JOIN LEFT SEMI<br />+ JOIN LEFT ANTI  | No | — | — | 
| Operadores de establecimiento |  + UNION<br />+ UNION ALL  | Sí | Soportado |  compatible | 
|  + EXCEPT<br />+ EXCEPT ALL<br />+ INTERSECT<br />+ INTERSECT ALL  | No | — | — | 
| Límites de clasificación y filas |  + ORDER BYASC/DESC<br />+ ORDER BYLOS NULOS PRIMERO<br />+ ORDER BYLOS NULOS SON LOS ÚLTIMOS<br />+ LIMIT  | Sí | Soportado |  compatible | 
|  + OFFSET  | No | — | — | 
| Condiciones |  + =<br />+ \!= / <><br />+ <<br />+ <=<br />+ ><br />+ >=<br />+ IN<br />+ NOT IN<br />+ LIKE<br />+ NOT LIKE<br />+ RLIKE<br />+ BETWEEN<br />+ IS TRUE / IS FALSE<br />+ AND<br />+ OR<br />+ NOT<br />+ IS DISTINCT FROM  | Sí | Soportado |  compatible | 
|  + <=> (igualdad segura para valores nulos)  | No | — | — | 
| Funciones de agregación |  + Función de AVG<br />+ Función de COUNT<br />+ Función de COUNT DISTINCT<br />+ Función de SUM<br />+ Función de MIN<br />+ Función de MAX<br />+ STDDEV/funciones STDDEV\_SAMP<br />+ Función de STDDEV\_POP<br />+ VAR\_SAMP/VARIANCEfunciones<br />+ Función de VAR\_POP<br />+ Función de SKEWNESS<br />+ Función de APPROX\_COUNT\_DISTINCT<br />+ Función de COLLECT\_LIST<br />+ Función de COLLECT\_SET<br />+ Función de PERCENTILE<br />+ Función de APPROX\_PERCENTILE<br />+ Función de MEDIAN  | Sí |  compatible | Cuando se establece un umbral de agregación: MINMAX,PERCENTILE,APPROX\_PERCENTILE,MEDIAN,COLLECT\_LIST, y COLLECT\_SET debe combinarse con una agregación válida (AVG,COUNT,SUM). No se pueden usar como agregación independiente.<br />Cuando solo se establecen los controles de comparación: no existe tal restricción.<br />Se admiten todas las demás funciones agregadas. | 
|  + Función de ANY\_VALUE<br />+ Función de BOOL\_AND<br />+ Función de BOOL\_OR  | No | — | — | 
| Funciones de matriz |  + Función de ARRAY<br />+ Función de ARRAY\_CONTAINS<br />+ Función de ARRAY\_DISTINCT<br />+ Función de ARRAY\_INTERSECT<br />+ Función de ARRAY\_JOIN<br />+ Función de ARRAY\_REMOVE<br />+ Función de ARRAY\_SORT<br />+ Función de ARRAY\_UNION<br />+ Función de FLATTEN<br />+ Función de EXPLODE  | Sí | Soportado |  compatible | 
|  + Función de ARRAY\_EXCEPT  | No | — | — | 
| Expresiones condicionales |  + Función de IS NULL<br />+ Función de IS NOT NULL<br />+ Función de GREATEST<br />+ Función de LEAST<br />+ CASE/WHENfunciones<br />+ Función de IF<br />+ Función de COALESCE<br />+ Función de NULLIF<br />+ Función de NVL<br />+ Función de NVL2  | Sí | Soportado |  compatible | 
| Funciones del constructor |  + Función de STRUCT<br />+ Función de NAMED\_STRUCT<br />+ Función de MAP  | Sí | Soportado |  compatible | 
| Funciones de formato de tipo de datos |  + Función de STR\_TO\_MAP<br />+ Función de BASE64<br />+ Función de UNBASE64<br />+ Función de HEX<br />+ Función de UNHEX<br />+ Función de TO\_DATE<br />+ Función de DECODE<br />+ Función de ENCODE<br />+ Función de CAST  | Sí | Soportado |  compatible | 
|  + Función de TO\_CHAR<br />+ Función de TO\_NUMBER  | No | — | — | 
| Funciones de fecha y hora |  + Función de CURRENT\_DATE<br />+ Función de CURRENT\_TIMESTAMP<br />+ Función de TO\_TIMESTAMP<br />+ Función de DATE\_DIFF<br />+ Función de DATE\_TRUNC<br />+ Función de DATE\_PART<br />+ Función de EXTRACT<br />+ Función de CONVERT\_TIMEZONE<br />+ Función de FROM\_UTC\_TIMESTAMP<br />+ Función de TIMESTAMP<br />+ DAY/DAYOFMONTHfunciones<br />+ Función de DAYOFWEEK<br />+ Función de WEEKOFYEAR<br />+ Función de MONTH<br />+ Función de YEAR<br />+ Función de HOUR<br />+ Función de MINUTE<br />+ Función de SECOND  | Sí | Soportado |  compatible | 
|  + Función de DAYOFYEAR<br />+ Función de DATE\_ADD<br />+ Función de ADD\_MONTHS  | No | — | — | 
| Funciones hash |  + Función de MD5<br />+ Función de SHA<br />+ Función de SHA1<br />+ Función de SHA2<br />+ Función de XXHASH64  | Sí | Soportado |  compatible | 
| Funciones JSON |  + Función de GET\_JSON\_OBJECT<br />+ Función de TO\_JSON  | Sí | Soportado |  compatible | 
| Funciones matemáticas |  + Función de ABS<br />+ CEIL/CEILINGfunciones<br />+ Función de FLOOR<br />+ Función de ROUND<br />+ Función de LN<br />+ LOG/LOG10funciones<br />+ Función de POWER<br />+ Función de SQRT<br />+ RAND/RANDOMfunciones<br />+ Función de EXP<br />+ Función de SIGN<br />+ Función de TRUNC  | Sí | Soportado |  compatible | 
|  + Función de TRUNCATE<br />+ Función de CBRT<br />+ Función de PI<br />+ Función de RADIANS<br />+ Función de ACOS<br />+ Función de ASIN<br />+ Función de ATAN<br />+ Función de ATAN2<br />+ Función de COS<br />+ Función de COT<br />+ Función de SIN<br />+ Función de DEGREES  | No | — | — | 
| Símbolos de operadores matemáticos |  + \+<br />+ -<br />+ \*<br />+ /<br />+ %  | Sí | Soportado |  compatible | 
| Funciones escalares |  + Función de CARDINALITY<br />+ Función de SIZE  | Sí | Soportado |  compatible | 
| Funciones de cadena |  + Función de CONCAT<br />+ Función de LOWER<br />+ Función de UPPER<br />+ LENGTHCHAR\_LENGTH/CHARACTER\_LENGTHfunciones<br />+ SUBSTR/SUBSTRINGfunciones<br />+ Función de TRIM<br />+ Función de BTRIM<br />+ Función de LTRIM<br />+ Función de RTRIM<br />+ Función de POSITION<br />+ Función de REPLACE<br />+ Función de REPEAT<br />+ Función de REGEXP\_REPLACE<br />+ Función de REGEXP\_SUBSTR<br />+ Función de SPLIT<br />+ Función de FORMAT\_STRING<br />+ Función de UUID<br />+ Función de LPAD<br />+ Función de RPAD<br />+ Función de LEFT<br />+ Función de RIGHT  | Sí | Soportado |  compatible | 
|  + Función de REVERSE<br />+ Función de TRANSLATE<br />+ Función de REGEXP\_COUNT<br />+ Función de REGEXP\_INSTR<br />+ Función de SPLIT\_PART  | No | — | — | 
| Privacy-related funciones |  + Función de consent\_tcf\_v2\_decode<br />+ Función de consent\_gpp\_v1\_decode  | Sí | Soportado |  compatible | 
| Funciones de ventana |  + Función de ROW\_NUMBER<br />+ Función de RANK<br />+ Función de DENSE\_RANK<br />+ Función de LAG<br />+ Función de LEAD<br />+ AVGFunción de ventana<br />+ COUNTFunción de ventana<br />+ SUMFunción de ventana<br />+ MINFunción de ventana<br />+ MAXFunción de ventana<br />+ STDDEV\_POPFunción de ventana<br />+ STDDEV\_SAMPFunción de ventana<br />+ VAR\_POPFunción de ventana<br />+ VAR\_SAMPFunción de ventana<br />+ SKEWNESSFunción de ventana<br />+ APPROX\_COUNT\_DISTINCTFunción de ventana<br />+ APPROX\_PERCENTILEFunción de ventana<br />+ PERCENTILEFunción de ventana  | Sí |  compatible | Cuando se establece un umbral de agregación:LAG,LEAD, Window MINMAX, Window y APPROX\_PERCENTILE Window PERCENTILE deben combinarse con una agregación que cumpla los requisitos. No se pueden usar como valores independientes.<br />Cuando solo están configurados los controles de comparación: no existe tal restricción.<br />Se admiten todas las demás funciones de ventana. | 
|  + FIRST/FIRST\_VALUEfunciones<br />+ LAST/LAST\_VALUEfunciones<br />+ Función de NTH\_VALUE<br />+ Función de CUME\_DIST<br />+ Función de PERCENT\_RANK<br />+ Función de NTILE  | No | — | — | 
| Funciones de cifrado y descifrado |  + Función de AES\_ENCRYPT<br />+ Función de AES\_DECRYPT  | No | — | — | 
| Funciones de hiperloglog |  + Función de HLL\_SKETCH\_AGG<br />+ Función de HLL\_UNION\_AGG<br />+ Función de HLL\_SKETCH\_ESTIMATE<br />+ Función de HLL\_UNION  | No | — | — | 