SQL NTILE

SQL NTILE
La fonction SQL NTILE divise les lignes d'une partition ordonnée en un ensemble de parties égales définies. Chaque partie se voit attribuer une expression numérique qui va de 1.

Dans SQL standard, la fonction NTILE peut être exprimée comme indiqué:

Ntile (const_int_expr)

La fonction divisera les lignes dans les pièces const_int_int_intr_intr_intime définies en fonction de l'ordre des lignes et renvoie un numéro de pièce basé sur 1 qui est attribué à chaque ligne.

Pour une syntaxe plus verbeuse et explicite, nous pouvons l'exprimer comme indiqué:

Ntile (parties) sur (
[Partition par partition_expression,…]
Ordre par Sort_Expression [ASC | Desc],…
)

Le paramètre des pièces définit le nombre total de pièces dans lesquelles les lignes sont divisées. La valeur doit être un entier ou une requête qui renvoie un entier positif.

La clause de partition par définira l'expression qui sépare les lignes en ensembles de sections. La fonction ntile est ensuite appliquée à ces partitions.

La commande par spécifiera l'ordre dans lequel les lignes sont commandées. Ceci est appliqué dans chaque partition.

SQL NTILE - Exemple pratique

Pour illustrer l'utilisation de la fonction NTILE, utilisons un exemple pratique. Commencez par créer une base de données pour stocker les exemples de données.

Créer une base de données ntile_db;

Passez à la base de données et créez une table comme indiqué:

créer des employés de table (
Clé primaire en série ID,
full_name varchar (255),
Email Varchar (255),
Département Varchar (100),
Date start_date,
bool actif,
Catégorie Varchar (50)
));

NOTE: La requête ci-dessus est fournie pour les bases de données postgresql. N'hésitez pas à changer la requête ci-dessus pour correspondre à la base de données souhaitée.

Une fois que vous avez défini le schéma de table, nous pouvons procéder et ajouter des données d'échantillonnage. Exécutez la requête ci-dessous pour ajouter des exemples de données.

Ce qui précède ajoute des exemples de données au tableau. Nous utiliserons ces données pour illustrer comment utiliser la fonction NTILE.

Exemple 1

Utilisons la fonction ntile pour diviser les données ci-dessus en 3 lignes distinctes en fonction de la catégorie.

Sélectionner l'ID,
nom et prénom,
e-mail,
département,
date de début,
actif,
catégorie,
NTILE (3) Over (partition par catégorie Ordre par id ASC) comme Cat_Rank
des employés;

La requête ci-dessus doit partitionner le résultat par la catégorie et appliquer la fonction ntile. Le tableau résultant est illustré ci-dessous:

Fermeture

En utilisant cet article, nous avons découvert comment fait la fonction ntile et comment l'utiliser. Vérifiez la documentation de votre moteur de base de données pour explorer plus.

Merci d'avoir lu!!