Desafio: Utilizando Função Window
Vamos supor que queremos adicionar informações à tabela sobre a qual classe cada usuário pertence com base no saldo de sua conta.
As classes serão determinadas da seguinte forma:
- Uma pessoa cujo saldo da conta está nos
25%inferiores pertencerá à quarta classe; - Uma pessoa cujo saldo da conta está entre
25%e50%pertencerá à terceira classe; - Uma pessoa cujo saldo da conta está entre
50%e75%pertencerá à segunda classe; - Uma pessoa cujo saldo da conta está nos
25%superiores pertencerá à primeira classe.
Para resolver esse problema, podemos usar uma função de janela chamada NTILE().
A função NTILE() é uma função de janela que divide as linhas em uma partição ordenada em um número especificado de grupos aproximadamente iguais, ou "tiles".
Ela atribui a cada linha um número de grupo, começando em 1, com base no grupo ao qual pertence.
NTILE(num_buckets) OVER (
ORDER BY sort_column
)
No exemplo, não precisamos especificar uma cláusula PARTITION BY porque queremos aplicar a função NTILE() ao conjunto de resultados inteiro, e não a subconjuntos ou partições específicas dos dados.
A cláusula ORDER BY é suficiente, pois define a ordem na qual as linhas são distribuídas nos tiles, garantindo que a divisão seja baseada na ordem dos salários em toda a tabela.
Se quiséssemos calcular os tiles dentro de grupos específicos (por exemplo, departamentos), usaríamos o PARTITION BY.
Swipe to start coding
Preencha as lacunas para utilizar a função NTILE() de modo que cada titular de conta seja atribuído a uma classe de 1 a 4, onde a classe 1 possui os maiores saldos.
- Utilize 4 como o número de classes;
- Ordene pela coluna
balanceem ordem decrescente; - Certifique-se de que o resultado exiba
account_holder,balancee sua respectivaclass.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
How do I use the NTILE() function to classify users into these classes?
Can you show an example SQL query that implements this classification?
What does the output table look like after adding the class information?
Awesome!
Completion rate improved to 4.55
Desafio: Utilizando Função Window
Deslize para mostrar o menu
Vamos supor que queremos adicionar informações à tabela sobre a qual classe cada usuário pertence com base no saldo de sua conta.
As classes serão determinadas da seguinte forma:
- Uma pessoa cujo saldo da conta está nos
25%inferiores pertencerá à quarta classe; - Uma pessoa cujo saldo da conta está entre
25%e50%pertencerá à terceira classe; - Uma pessoa cujo saldo da conta está entre
50%e75%pertencerá à segunda classe; - Uma pessoa cujo saldo da conta está nos
25%superiores pertencerá à primeira classe.
Para resolver esse problema, podemos usar uma função de janela chamada NTILE().
A função NTILE() é uma função de janela que divide as linhas em uma partição ordenada em um número especificado de grupos aproximadamente iguais, ou "tiles".
Ela atribui a cada linha um número de grupo, começando em 1, com base no grupo ao qual pertence.
NTILE(num_buckets) OVER (
ORDER BY sort_column
)
No exemplo, não precisamos especificar uma cláusula PARTITION BY porque queremos aplicar a função NTILE() ao conjunto de resultados inteiro, e não a subconjuntos ou partições específicas dos dados.
A cláusula ORDER BY é suficiente, pois define a ordem na qual as linhas são distribuídas nos tiles, garantindo que a divisão seja baseada na ordem dos salários em toda a tabela.
Se quiséssemos calcular os tiles dentro de grupos específicos (por exemplo, departamentos), usaríamos o PARTITION BY.
Swipe to start coding
Preencha as lacunas para utilizar a função NTILE() de modo que cada titular de conta seja atribuído a uma classe de 1 a 4, onde a classe 1 possui os maiores saldos.
- Utilize 4 como o número de classes;
- Ordene pela coluna
balanceem ordem decrescente; - Certifique-se de que o resultado exiba
account_holder,balancee sua respectivaclass.
Solução
Obrigado pelo seu feedback!
single