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
Incrível!
Completion taxa melhorada para 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