Fonction de fenêtrage NTILE - Amazon Redshift

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.

Fonction de fenêtrage NTILE

La fonction de fenêtrage NTILE sépare les lignes ordonnées de la partition selon le nombre de groupes de lignes classés de taille égale autant que possible et renvoie le groupe dans lequel se situe une ligne donnée.

Syntaxe

NTILE (expr) OVER ( [ PARTITION BY expression_list ] [ ORDER BY order_list ] )

Arguments

expr

Nombre de groupes de rang et doit se traduire par une valeur de nombre entier positif (supérieur à 0) pour chaque partition. L’argument expr ne doit pas autoriser la valeur NULL.

OVER

Clause qui spécifie le partitionnement et l’ordonnancement de fenêtrage. La clause OVER ne peut pas contenir de spécification de cadre de fenêtrage.

PARTITION BY window_partition

Facultatif. Plage d’enregistrements de chaque groupe dans la clause OVER.

ORDER BY window_ordering

Facultatif. Expression qui trie les lignes dans chaque partition. Si la clause ORDER BY n’est pas spécifiée, le comportement de rang est identique.

Si ORDER BY ne génère pas d’ordonnancement unique, l’ordre des lignes est non déterministe. Pour plus d'informations, consultez Ordonnancement unique des données pour les fonctions de fenêtrage.

Type de retour

BIGINT

Exemples

L’exemple suivant répartit en quatre groupes de rangs le prix payé pour les billets de Hamlet le 26 août 2008. L’ensemble de résultats est de 17 lignes, classées presque uniformément de 1 à 4 :

select eventname, caldate, pricepaid, ntile(4) over(order by pricepaid desc) from sales, event, date where sales.eventid=event.eventid and event.dateid=date.dateid and eventname='Hamlet' and caldate='2008-08-26' order by 4; eventname | caldate | pricepaid | ntile -----------+------------+-----------+------- Hamlet | 2008-08-26 | 1883.00 | 1 Hamlet | 2008-08-26 | 1065.00 | 1 Hamlet | 2008-08-26 | 589.00 | 1 Hamlet | 2008-08-26 | 530.00 | 1 Hamlet | 2008-08-26 | 472.00 | 1 Hamlet | 2008-08-26 | 460.00 | 2 Hamlet | 2008-08-26 | 355.00 | 2 Hamlet | 2008-08-26 | 334.00 | 2 Hamlet | 2008-08-26 | 296.00 | 2 Hamlet | 2008-08-26 | 230.00 | 3 Hamlet | 2008-08-26 | 216.00 | 3 Hamlet | 2008-08-26 | 212.00 | 3 Hamlet | 2008-08-26 | 106.00 | 3 Hamlet | 2008-08-26 | 100.00 | 4 Hamlet | 2008-08-26 | 94.00 | 4 Hamlet | 2008-08-26 | 53.00 | 4 Hamlet | 2008-08-26 | 25.00 | 4 (17 rows)