Fonction SQL Server NTILE

Fonction SQL Server NTILE
Dans cet article, vous comprendrez comment travailler avec la fonction ntile () dans SQL Server. La fonction ntile () vous permet de distribuer les lignes dans une partition ordonnée en groupes numérotés spécifiques.

Fonction SQL Server Ntile ()

La fonction ntile () fait partie des fonctions d'analyse SQL Server qui vous permet d'attribuer des lignes dans une partition ordonnée dans un nombre spécifié de groupes égaux. Chaque groupe est numéroté à partir de 1. La fonction attribue ensuite un nombre indiquant le groupe dans lequel la ligne s'adapte.

Ce qui suit représente la syntaxe de fonction:

NTILE (Integer_Expression) sur ([])

Les arguments sont exprimés comme indiqué ci-dessous:

  1. Integer_Expression - Ceci définit le nombre de groupes dans lesquels les partitions sont divisées.
  2. partition_by_clause - Cette clause divise les résultats définis en diverses partitions où la fonction ntile () est appliquée.
  3. ORDER_BY_CLAUSE - Cette clause définit l'ordre dans lequel les valeurs de fonction NTILE sont allouées aux lignes d'une partition.

La fonction renvoie le type bigint.

Exemple d'utilisation

L'exemple suivant démontre l'utilisation de la fonction ntile () sur un ensemble de résultats.

Supposons que nous ayons un tableau avec des exemples de données comme indiqué:

Drop Base de données s'il existe un inventaire;
Créer l'inventaire de la base de données;
Utiliser l'inventaire;
Table de dépôt si existe des produits;
Créer des produits de table
(
id int identité clé primaire pas nul,
Product_name Varchar (100),
Fabricant Varchar (50),
Quantité int null,
prix int défaut 0,
bit in_stock
));
Insérer dans les produits (Product_name, fabricant, quantité, prix, in_stock)
Valeurs ('Apple iPad Air - 2022', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
(«Sony Playstation 5 - 2020», «Sony», 500, 499.99, 1),
(«Samsung Galaxy Watch-5 Pro - 2022», «Samsung», 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
(«Apple Airpods Pro - 2022», «Apple», 200, 199.99, 1),
('55 "Classe S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini-LED Curved Gaming Screen - 2021', 'Samsung', 50, 2999.90, 1);

Nous pouvons diviser les données dans le tableau en quatre groupes comme indiqué dans la requête ci-dessous:

Sélectionnez Product_name, fabricant, prix, ntile (4)
des produits;

La table de sortie est comme indiqué:

Nous pouvons également partitionner les données en différents groupes et appliquer la fonction ntile () à chaque division. Par exemple, la requête ci-dessous divise les données sur la base du fabricant.

Sélectionnez Product_name, Fabricant, Prix, Ntile (1) Over (Partition by Manufacturer Commande par fabricant) Groupes
des produits;

Résultat:

Conclusion

Dans cet article, vous avez appris les bases de travailler avec la fonction NTILE () dans SQL Server pour distribuer des lignes d'une partition ordonnée dans divers ensembles.