SQL Server Ntilile -funksjon

SQL Server Ntilile -funksjon
I denne artikkelen vil du forstå hvordan du jobber med Ntile () -funksjonen i SQL Server. Ntile () -funksjonen lar deg distribuere radene i en bestilt partisjon i spesifikke nummererte grupper.

SQL Server ntile () -funksjon

Ntile () -funksjonen er en del av SQL Server Analytics -funksjonene som lar deg tildele rader i en bestilt partisjon i et spesifisert antall like grupper. Hver gruppe er nummerert fra 1 og utover. Funksjonen tildeler deretter et tall som indikerer gruppen som raden passer til i.

Følgende representerer funksjonssyntaks:

Ntile (heltall_ekspression) over ([])

Argumentene uttrykkes som vist nedenfor:

  1. Heltall_ekspression - Dette definerer antall grupper som partisjonene er delt i.
  2. PARTITION_BY_CLAUSE - Denne klausulen deler resultatet satt inn i forskjellige partisjoner der Ntile () -funksjonen brukes.
  3. Order_by_claus - Denne klausulen definerer rekkefølgen Ntilile -funksjonsverdiene er tildelt radene i en partisjon.

Funksjonen returnerer Bigint -typen.

Eksempelbruk

Følgende eksempel viser bruk av ntile () -funksjonen over et resultatsett.

Anta at vi har en tabell med prøvedata som vist:

Drop Database hvis eksisterer inventar;
Opprette databasebeholdning;
Bruk varelager;
Slippbord hvis det eksisterer produkter;
Lag bordprodukter
(
id int identitet primær nøkkel ikke null,
produktnavn varchar (100),
Produsenten varchar (50),
mengde int ikke null,
pris int standard 0,
in_stock bit
);
sett inn i produkter (produktnavn, produsent, mengde, pris, in_stock)
Verdier ('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 "Klasse S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini -ledet buet spillskjerm - 2021', 'Samsung', 50, 2999.90, 1);

Vi kan dele opp dataene i tabellen i fire grupper som vist i spørringen nedenfor:

Velg produktnavn, produsent, pris, ntile (4) over (bestilling av produsent) grupper
fra produkter;

Utgangstabellen er som vist:

Vi kan også dele opp dataene i forskjellige grupper og anvende Ntile () -funksjonen på hver divisjon. For eksempel deler spørringen nedenfor dataene basert på produsenten.

Velg produktnavn, produsent, pris, ntile (1) over (partisjon etter produsent bestilling av produsent) grupper
fra produkter;

Resultat:

Konklusjon

I denne artikkelen lærte du det grunnleggende om å jobbe med Ntile () -funksjonen i SQL Server for å distribuere rader med en bestilt partisjon i forskjellige sett.