

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Fonctionnalités SQL pour des contrôles d'agrégation et de comparaison minimaux
<a name="custom-sql-capabilities"></a>

Le tableau suivant répertorie les constructions et fonctions SQL prises en charge et non prises en charge lorsqu'une règle d'analyse personnalisée utilise des seuils d'agrégation et des contrôles de comparaison minimaux dans le moteur d'analyse Spark. Les catégories de fonctions suivent la référence AWS Clean Rooms Spark SQL.


| Catégorie | Construction SQL | Pris en charge | Expressions de table communes (CTE) | Clause SELECT finale | 
| --- |--- |--- |--- |--- |
| Constructions de requêtes |  + CACHE TABLE<br />+ Indicateurs de requête<br />+ Modèle d'analyse (requêtes paramétrées)  | Oui | Pris en charge | Pris en charge | 
| Clauses |  + SELECT<br />+ SELECT DISTINCT<br />+ FROM<br />+ FROMSOUS-REQUÊTE<br />+ FROMTABLEAU EN LIGNE (VALEURS)<br />+ WHERE<br />+ GROUP BY<br />+ HAVING<br />+ ORDER BY<br />+ WITH(CET)  | Oui | Pris en charge | Pris en charge | 
|  + 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  | Non | — | — | 
| Clauses d'adhésion |  + JOIN INNER<br />+ JOIN LEFT<br />+ JOIN FULL OUTER<br />+ JOIN CROSS<br />+ JOIN RIGHT<br />+ JOIN NATURAL  | Oui | Pris en charge | Pris en charge | 
|  + JOIN LEFT SEMI<br />+ JOIN LEFT ANTI  | Non | — | — | 
| Régler les opérateurs |  + UNION<br />+ UNION ALL  | Oui | Pris en charge | Pris en charge | 
|  + EXCEPT<br />+ EXCEPT ALL<br />+ INTERSECT<br />+ INTERSECT ALL  | Non | — | — | 
| Limites de tri et de lignes |  + ORDER BYASC/DESC<br />+ ORDER BYLES VALEURS NULLES D'ABORD<br />+ ORDER BYLES VALEURS NULLES SONT LES DERNIÈRES<br />+ LIMIT  | Oui | Pris en charge | Pris en charge | 
|  + OFFSET  | Non | — | — | 
| Conditions |  + =<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  | Oui | Pris en charge | Pris en charge | 
|  + <=> (égalité null-safe)  | Non | — | — | 
| Fonctions d’agrégation |  + Fonction AVG<br />+ Fonction COUNT<br />+ Fonction COUNT DISTINCT<br />+ Fonction SUM<br />+ Fonction MIN<br />+ Fonction MAX<br />+ STDDEV/STDDEV\_SAMPfonctions<br />+ Fonction STDDEV\_POP<br />+ VAR\_SAMP/VARIANCEfonctions<br />+ Fonction VAR\_POP<br />+ Fonction SKEWNESS<br />+ Fonction APPROX\_COUNT\_DISTINCT<br />+ Fonction COLLECT\_LIST<br />+ Fonction COLLECT\_SET<br />+ Fonction PERCENTILE<br />+ Fonction APPROX\_PERCENTILE<br />+ Fonction MEDIAN  | Oui | Pris en charge | Lorsqu'un seuil d'agrégation est défini : MINMAX,PERCENTILE,APPROX\_PERCENTILE, MEDIANCOLLECT\_LIST, et COLLECT\_SET doit être combiné à une agrégation qualifiante (AVG,COUNT,SUM). Ils ne peuvent pas être utilisés comme agrégation autonome.<br />Lorsque seuls les contrôles de comparaison sont définis : aucune restriction de ce type.<br />Toutes les autres fonctions d'agrégation sont prises en charge. | 
|  + Fonction ANY\_VALUE<br />+ Fonction BOOL\_AND<br />+ Fonction BOOL\_OR  | Non | — | — | 
| Fonctions de tableau |  + Fonction ARRAY<br />+ Fonction ARRAY\_CONTAINS<br />+ Fonction ARRAY\_DISTINCT<br />+ Fonction ARRAY\_INTERSECT<br />+ Fonction ARRAY\_JOIN<br />+ Fonction ARRAY\_REMOVE<br />+ Fonction ARRAY\_SORT<br />+ Fonction ARRAY\_UNION<br />+ Fonction FLATTEN<br />+ Fonction EXPLODE  | Oui | Pris en charge | Pris en charge | 
|  + Fonction ARRAY\_EXCEPT  | Non | — | — | 
| Expressions conditionnelles |  + Fonction IS NULL<br />+ Fonction IS NOT NULL<br />+ Fonction GREATEST<br />+ Fonction LEAST<br />+ CASE/WHENfonctions<br />+ Fonction IF<br />+ Fonction COALESCE<br />+ Fonction NULLIF<br />+ Fonction NVL<br />+ Fonction NVL2  | Oui | Pris en charge | Pris en charge | 
| Fonctions de constructeur |  + Fonction STRUCT<br />+ Fonction NAMED\_STRUCT<br />+ Fonction MAP  | Oui | Pris en charge | Pris en charge | 
| Fonctions de formatage des types de données |  + Fonction STR\_TO\_MAP<br />+ Fonction BASE64<br />+ Fonction UNBASE64<br />+ Fonction HEX<br />+ Fonction UNHEX<br />+ Fonction TO\_DATE<br />+ Fonction DECODE<br />+ Fonction ENCODE<br />+ Fonction CAST  | Oui | Pris en charge | Pris en charge | 
|  + Fonction TO\_CHAR<br />+ Fonction TO\_NUMBER  | Non | — | — | 
| Fonctions de date et d’heure |  + Fonction CURRENT\_DATE<br />+ Fonction CURRENT\_TIMESTAMP<br />+ Fonction TO\_TIMESTAMP<br />+ Fonction DATE\_DIFF<br />+ Fonction DATE\_TRUNC<br />+ Fonction DATE\_PART<br />+ Fonction EXTRACT<br />+ Fonction CONVERT\_TIMEZONE<br />+ Fonction FROM\_UTC\_TIMESTAMP<br />+ Fonction TIMESTAMP<br />+ DAY/DAYOFMONTHfonctions<br />+ Fonction DAYOFWEEK<br />+ Fonction WEEKOFYEAR<br />+ Fonction MONTH<br />+ Fonction YEAR<br />+ Fonction HOUR<br />+ Fonction MINUTE<br />+ Fonction SECOND  | Oui | Pris en charge | Pris en charge | 
|  + Fonction DAYOFYEAR<br />+ Fonction DATE\_ADD<br />+ Fonction ADD\_MONTHS  | Non | — | — | 
| Fonctions de hachage |  + Fonction MD5<br />+ Fonction SHA<br />+ Fonction SHA1<br />+ Fonction SHA2<br />+ Fonction XXHASH64  | Oui | Pris en charge | Pris en charge | 
| Fonctions JSON |  + Fonction GET\_JSON\_OBJECT<br />+ Fonction TO\_JSON  | Oui | Pris en charge | Pris en charge | 
| Fonctions mathématiques |  + Fonction ABS<br />+ CEIL/CEILINGfonctions<br />+ Fonction FLOOR<br />+ Fonction ROUND<br />+ Fonction LN<br />+ LOG/LOG10fonctions<br />+ Fonction POWER<br />+ Fonction SQRT<br />+ RAND/RANDOMfonctions<br />+ Fonction EXP<br />+ Fonction SIGN<br />+ Fonction TRUNC  | Oui | Pris en charge | Pris en charge | 
|  + Fonction TRUNCATE<br />+ Fonction CBRT<br />+ Fonction PI<br />+ Fonction RADIANS<br />+ Fonction ACOS<br />+ Fonction ASIN<br />+ Fonction ATAN<br />+ Fonction ATAN2<br />+ Fonction COS<br />+ Fonction COT<br />+ Fonction SIN<br />+ Fonction DEGREES  | Non | — | — | 
| Symboles d’opérateurs mathématiques |  + \+<br />+ -<br />+ \*<br />+ /<br />+ %  | Oui | Pris en charge | Pris en charge | 
| Fonctions scalaires |  + Fonction CARDINALITY<br />+ Fonction SIZE  | Oui | Pris en charge | Pris en charge | 
| Fonctions de chaîne |  + Fonction CONCAT<br />+ Fonction LOWER<br />+ Fonction UPPER<br />+ LENGTH/CHAR\_LENGTH/CHARACTER\_LENGTHfonctions<br />+ SUBSTR/SUBSTRINGfonctions<br />+ Fonction TRIM<br />+ Fonction BTRIM<br />+ Fonction LTRIM<br />+ Fonction RTRIM<br />+ Fonction POSITION<br />+ Fonction REPLACE<br />+ Fonction REPEAT<br />+ Fonction REGEXP\_REPLACE<br />+ Fonction REGEXP\_SUBSTR<br />+ Fonction SPLIT<br />+ Fonction FORMAT\_STRING<br />+ Fonction UUID<br />+ Fonction LPAD<br />+ Fonction RPAD<br />+ Fonction LEFT<br />+ Fonction RIGHT  | Oui | Pris en charge | Pris en charge | 
|  + Fonction REVERSE<br />+ Fonction TRANSLATE<br />+ Fonction REGEXP\_COUNT<br />+ Fonction REGEXP\_INSTR<br />+ Fonction SPLIT\_PART  | Non | — | — | 
| Privacy-related fonctions |  + Fonction consent\_tcf\_v2\_decode<br />+ Fonction consent\_gpp\_v1\_decode  | Oui | Pris en charge | Pris en charge | 
| Fonctions de fenêtrage |  + Fonction ROW\_NUMBER<br />+ Fonction RANK<br />+ Fonction DENSE\_RANK<br />+ Fonction LAG<br />+ Fonction LEAD<br />+ AVGFonction de fenêtre<br />+ COUNTFonction de fenêtre<br />+ SUMFonction de fenêtre<br />+ MINFonction de fenêtre<br />+ MAXFonction de fenêtre<br />+ STDDEV\_POPFonction de fenêtre<br />+ STDDEV\_SAMPFonction de fenêtre<br />+ VAR\_POPFonction de fenêtre<br />+ VAR\_SAMPFonction de fenêtre<br />+ SKEWNESSFonction de fenêtre<br />+ APPROX\_COUNT\_DISTINCTFonction de fenêtre<br />+ APPROX\_PERCENTILEFonction de fenêtre<br />+ PERCENTILEFonction de fenêtre  | Oui | Pris en charge | Lorsqu'un seuil d'agrégation est défini : LAGLEAD, WindowMIN, Window MAXAPPROX\_PERCENTILE, Window et Window PERCENTILE doivent être combinés à une agrégation éligible. Elles ne peuvent pas être utilisées comme valeur autonome.<br />Lorsque seuls les contrôles de comparaison sont définis : aucune restriction de ce type.<br />Toutes les autres fonctions de la fenêtre sont prises en charge. | 
|  + FIRST/FIRST\_VALUEfonctions<br />+ LAST/LAST\_VALUEfonctions<br />+ Fonction NTH\_VALUE<br />+ Fonction CUME\_DIST<br />+ Fonction PERCENT\_RANK<br />+ Fonction NTILE  | Non | — | — | 
| Fonctions de chiffrement et de déchiffrement |  + Fonction AES\_ENCRYPT<br />+ Fonction AES\_DECRYPT  | Non | — | — | 
| Fonctions d'hyperlog |  + Fonction HLL\_SKETCH\_AGG<br />+ Fonction HLL\_UNION\_AGG<br />+ Fonction HLL\_SKETCH\_ESTIMATE<br />+ Fonction HLL\_UNION  | Non | — | — | 