PostgreSQL

Função da janela PostgreSQL NTILE

Função da janela PostgreSQL NTILE
Os métodos de janela no PostgreSQL foram descartados para igualar dados divergentes e são essenciais para analíticos e outros casos de uso do PostgreSQL. O método NTILE () seguido pela cláusula OVER no PostgreSQL é descartado para dividir as linhas organizadas em uma série de depósitos graduados. Buckets não são nada mais do que um conjunto de grupos classificados. Ao longo deste artigo, você descobrirá como dividir as linhas classificadas em uma partição em uma determinada figura de intervalos classificados usando o recurso PostgreSQL NTILE (). O método NTILE () aloca um número de depósito para cada grupo começando em 1 em um conjunto, demonstrando o conjunto no qual a linha tem seu lugar.

Sintaxe:

>> NTILE (buckets) OVER ([PARTITION BY partição expression,…] [ORDET BY sort expression]) [ASC | DESC],…]);

Em primeiro lugar, para compreender o método NTILE, faça o login no shell do PostgreSQL. É por isso que tente iniciar o shell de linha de comando PostgreSQL a partir dos aplicativos. Para trabalhar em outro servidor, digite o nome de um servidor; caso contrário, pressione Enter. Se você precisar praticar no banco de dados previamente designado, e.g., Postgres e pressione Enter ou então inscreva um título de banco de dados, e.g. 'teste'. Para usar uma porta diferente de 5432, inscreva-a; se não, deixe como está e pressione Enter para continuar. Pode ser solicitado que você insira o nome de usuário caso precise mudar para um novo nome de usuário. Digite o nome de usuário; caso contrário, basta pressionar Enter. Finalmente, você deve colocar sua senha de usuário atual, para alternar usando a linha de comando utilizando aquele usuário específico como abaixo. Posteriormente, entradas efetivas de todos os dados obrigatórios, você pode começar a trabalhar em NTILE.

Para começar a trabalhar no NTILE, você deve criar uma nova tabela usando o comando CREATE se você não tiver uma. Pense na tabela "funcionário" exibida abaixo em seu banco de dados PostgreSQL denominado 'teste'. Esta tabela contém quatro colunas e.g., id, nome, idade e salário de um funcionário de uma determinada empresa. Cada coluna tem um total de 10 linhas, o que significa 10 registros em cada campo da coluna.

>> SELECT * FROM funcionário;

No início, temos que entender o conceito simples de buscar registros de uma tabela usando a cláusula ORDER BY. Temos executado o comando SELECT abaixo sem usar NTILE para elaborar e entender o conceito brevemente. Recuperamos registros para colunas; nome, idade e salário ao classificar os registros na ordem crescente do campo “idade”. Você pode ver que ele apenas exibirá os registros conforme apresentados na imagem.

>> SELECIONE nome, idade, salário FROM funcionário ORDEM POR idade;

Uso de NTILE () OVER com cláusula ORDER BY:

Assumindo a mesma tabela "funcionário", vamos começar a usar a cláusula NTILE () OVER em nosso exemplo. Neste exemplo, selecionamos as duas colunas; nome e salário, enquanto classifica o resultado relacionado à ordem crescente de uma coluna “salário”. O resultado conterá dados em que a idade de um funcionário é maior que 24 anos. Definimos o valor do intervalo NTILE como “3” porque queremos dividir as linhas em 3 intervalos, e.g., 1 a 3. Você pode ver que as linhas foram divididas com sucesso em 3 grupos iguais, contendo 3 linhas em cada grupo.

>> SELECIONE nome, salário, NTILE (3) ACIMA (ORDENAR POR salário) FROMempregado ONDE idade> '24';

Agora, vamos dar outro exemplo ao usar a mesma tabela "funcionário". Desta vez, queremos buscar os registros de três colunas; nome, idade e salário usando a consulta SELECT no shell de comando. Há pequenas mudanças na cláusula WHERE. Atualmente, temos procurado os registros da tabela “funcionário” onde a idade for menor que 27 anos que só obteremos os registros com idade menor que 27. Por outro lado, não há mudança no valor do intervalo, pois é novamente 3. Tentando o comando indicado, encontramos apenas três registros, igualmente divididos em 3 baldes, conforme exibido na imagem.

>> SELECIONE nome, idade, salário, NTILE (3) ACIMA (ORDENAR POR salário) DO funcionário ONDE idade < '27';

Uso de NTILE () OVER com cláusula ORDER BY e PARTITION BY:

Vejamos um exemplo de NTILE () OVER ao usar as cláusulas PARTITION BY e ORDER BY simultaneamente. Suponha que a tabela inalterada "funcionário" de um "teste" de banco de dados será usada. Neste exemplo, você deve selecionar as três colunas; nome, idade e salário, enquanto classifica na forma crescente de um campo “idade”. Além disso, temos utilizado a cláusula PARTITION BY na coluna “salário”, para fazer partições de uma tabela de acordo com esta coluna. Não há nenhuma condição específica que foi usada nesta consulta em particular, o que significa que todos os registros da tabela "funcionário" serão exibidos. O intervalo NTILE tem um valor de “3”. Na execução da consulta declarada abaixo, você verá o resultado abaixo. As partições são feitas de acordo com os valores distintos da coluna “salário”. Todos os valores da coluna “salário” são distintos, por isso está em partições diferentes exceto o valor “60000”. Isso significa que cada partição tem 1 valor, exceto um. Depois disso, todas as linhas de partição foram classificadas por meio de baldes. Apenas um balde obteve a 2ª classificação.

>> SELECIONE nome, idade, salário, NTILE (3) ACIMA (PARTIÇÃO POR salário, ORDEM POR idade) DO funcionário;

Tomando o mesmo exemplo de NTILE () OVER com o uso da cláusula PARTITION BY e ORDER BY com uma cláusula WHERE. Na cláusula WHERE, definimos a condição, que diz que os únicos registros que serão buscados são aqueles em que a idade do funcionário é inferior a 27 anos. Obtivemos apenas 3 resultados com 2 partições de acordo com a idade e a coluna "ntile" com classificações.

>> SELECIONE nome, idade, salário, NTILE (3) ACIMA (PARTIÇÃO POR salário, ORDEM POR idade) DE funcionário ONDE idade < '27';

Conclusão:

Neste guia, discutimos diferentes exemplos de funções ntile. Você pode implementá-los de acordo com sua necessidade.

Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...