Função Ntile do servidor SQL

Função Ntile do servidor SQL
Neste artigo, você entenderá como trabalhar com a função Ntile () no SQL Server. A função ntile () permite que você distribua as linhas em uma partição ordenada em grupos numerados específicos.

Função SQL Server Ntil ()

A função ntile () faz parte das funções de análise do servidor SQL que permite que você aloque linhas em uma partição ordenada em um número especificado de grupos iguais. Cada grupo é numerado a partir de 1. A função atribui um número indicando o grupo em que a linha se encaixa.

A seguir, representa a sintaxe da função:

Ntile (Integer_expression) sobre ([])

Os argumentos são expressos como mostrado abaixo:

  1. Integer_expression - isso define o número de grupos nos quais as partições são divididas.
  2. partition_by_clause - Esta cláusula divide o resultado em várias partições em que a função ntile () é aplicada.
  3. order_by_clause - Esta cláusula define a ordem em que os valores da função tile são alocados às linhas em uma partição.

A função retorna o tipo bigint.

Exemplo de uso

O exemplo a seguir demonstra o uso da função ntile () em um conjunto de resultados.

Suponha que tenhamos uma tabela com dados de amostra como mostrado:

Soltar banco de dados se existir inventário;
Criar inventário de banco de dados;
Use inventário;
Soltar a tabela se existir produtos;
Crie produtos de tabela
(
Id int identidade chave primária não nula,
Product_name Varchar (100),
Fabricante Varchar (50),
quantidade não nula,
Preço int padrão 0,
In_stock Bit
);
Insira em produtos (Product_name, Fabricante, Quantidade, Preço, In_stock)
Valores ('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);

Podemos dividir os dados na tabela em quatro grupos, como mostrado na consulta abaixo:

Selecione Product_name, Fabricante, Price, Ntile (4) Over (Order By Fabricante) Grupos
de produtos;

A tabela de saída é como mostrado:

Também podemos particionar os dados em vários grupos e aplicar a função ntile () a cada divisão. Por exemplo, a consulta abaixo divide os dados com base no fabricante.

Selecione Product_name, Fabricante, Price, Ntile (1) Over (Grupos de Partição por Ordem do Fabricante pelo Fabricante)
de produtos;

Resultado:

Conclusão

Neste artigo, você aprendeu o básico de trabalhar com a função Ntile () no SQL Server para distribuir linhas de uma partição ordenada em vários conjuntos.