Sql ntile

Sql ntile
A função SQL NTile divide as fileiras de uma partição ordenada em um conjunto de partes iguais definidas. Cada parte recebe uma expressão numérica que varia de 1.

No SQL padrão, a função Ntile pode ser expressa como mostrado:

Ntile (const_int_expr)

A função dividirá as linhas nas peças const_int_expr definidas com base na ordem da linha e retornará um número de peça baseado em 1 que é atribuído a cada linha.

Para uma sintaxe mais detalhada e explícita, podemos expressá -la como mostrado:

Ntil (peças) sobre (
[Partição por partition_expression,…]
Ordem por Sort_expression [ASC | Desc],…
)

O parâmetro de peças define o número total de peças nas quais as linhas são divididas. O valor deve ser um número inteiro ou uma consulta que retorne um número inteiro positivo.

A cláusula da partição definirá a expressão que separa as linhas em conjuntos de seções. A função ntile é então aplicada a essas partições.

A ordem por especificará a ordem em que as linhas são ordenadas. Isso é aplicado em cada partição.

SQL Ntile - Exemplo prático

Para ilustrar o uso da função Ntile, vamos usar um exemplo prático. Comece criando um banco de dados para armazenar os dados da amostra.

Criar banco de dados Ntile_db;

Mude para o banco de dados e crie uma tabela como mostrado:

criar funcionários da tabela (
Id Id Serial Primary Key,
Full_name Varchar (255),
Email Varchar (255),
Departamento Varchar (100),
start_date data,
BOOL ativo,
Categoria Varchar (50)
);

OBSERVAÇÃO: A consulta acima é fornecida para os bancos de dados do PostGresql. Sinta -se à vontade para mudar a consulta acima para corresponder ao mecanismo de banco de dados desejado.

Depois de definir o esquema da tabela, podemos prosseguir e adicionar dados de amostra. Execute a consulta abaixo para adicionar dados de amostra.

O acima adiciona dados de amostra à tabela. Usaremos esses dados para ilustrar como usar a função Ntile.

Exemplo 1

Vamos usar a função Ntil para dividir os dados acima em 3 linhas separadas com base na categoria.

Selecione ID,
nome completo,
e-mail,
departamento,
data de início,
ativo,
categoria,
ntile (3) sobre (partição por categoria Ordem por id ASC) como cat_rank
de funcionários;

A consulta acima deve particionar o resultado pela categoria e aplicar a função tile. A tabela resultante é mostrada abaixo:

Fechamento

Usando este artigo, descobrimos como o que a função Ntile faz e como usá -lo. Verifique a documentação do seu mecanismo de banco de dados para explorar mais.

Obrigado pela leitura!!