Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Uso de la Función de Ventana | Algunos Temas Adicionales
Optimización de SQL y Características de Consulta

bookDesafío: Uso de la Función de Ventana

Supongamos que queremos agregar información a la tabla sobre a qué clase pertenece cada usuario según el saldo de su cuenta.

Las clases se determinarán de la siguiente manera:

  • Una persona cuyo saldo de cuenta esté en el 25% inferior pertenecerá a la cuarta clase;
  • Una persona cuyo saldo de cuenta esté entre el 25% y el 50% pertenecerá a la tercera clase;
  • Una persona cuyo saldo de cuenta esté entre el 50% y el 75% pertenecerá a la segunda clase;
  • Una persona cuyo saldo de cuenta esté en el 25% superior pertenecerá a la primera clase.

Para resolver este problema, podemos utilizar una función de ventana llamada NTILE().
La función NTILE() es una función de ventana que divide las filas en una partición ordenada en un número especificado de grupos aproximadamente iguales, o "tiles".
Asigna a cada fila un número de grupo, comenzando en 1, según el grupo al que pertenece.

NTILE(num_buckets) OVER (
    ORDER BY sort_column
)
Note
Nota

En el ejemplo, no es necesario especificar una cláusula PARTITION BY porque queremos aplicar la función NTILE() al conjunto completo de resultados, no a subconjuntos o particiones específicas de los datos.
La cláusula ORDER BY es suficiente ya que define el orden en que las filas se distribuyen en tiles, asegurando que la agrupación se base en el orden de los salarios en toda la tabla.
Si quisiéramos calcular tiles dentro de grupos específicos (por ejemplo, departamentos), usaríamos PARTITION BY.

Tarea

Swipe to start coding

Completa los espacios en blanco para utilizar la función NTILE() de modo que a cada titular de cuenta se le asigne una clase del 1 al 4, donde la clase 1 corresponde a los saldos más altos.

  • Utiliza 4 como número de clases;
  • Ordena por la columna balance en orden descendente;
  • Asegúrate de que el resultado muestre account_holder, balance y su class.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

bookDesafío: Uso de la Función de Ventana

Desliza para mostrar el menú

Supongamos que queremos agregar información a la tabla sobre a qué clase pertenece cada usuario según el saldo de su cuenta.

Las clases se determinarán de la siguiente manera:

  • Una persona cuyo saldo de cuenta esté en el 25% inferior pertenecerá a la cuarta clase;
  • Una persona cuyo saldo de cuenta esté entre el 25% y el 50% pertenecerá a la tercera clase;
  • Una persona cuyo saldo de cuenta esté entre el 50% y el 75% pertenecerá a la segunda clase;
  • Una persona cuyo saldo de cuenta esté en el 25% superior pertenecerá a la primera clase.

Para resolver este problema, podemos utilizar una función de ventana llamada NTILE().
La función NTILE() es una función de ventana que divide las filas en una partición ordenada en un número especificado de grupos aproximadamente iguales, o "tiles".
Asigna a cada fila un número de grupo, comenzando en 1, según el grupo al que pertenece.

NTILE(num_buckets) OVER (
    ORDER BY sort_column
)
Note
Nota

En el ejemplo, no es necesario especificar una cláusula PARTITION BY porque queremos aplicar la función NTILE() al conjunto completo de resultados, no a subconjuntos o particiones específicas de los datos.
La cláusula ORDER BY es suficiente ya que define el orden en que las filas se distribuyen en tiles, asegurando que la agrupación se base en el orden de los salarios en toda la tabla.
Si quisiéramos calcular tiles dentro de grupos específicos (por ejemplo, departamentos), usaríamos PARTITION BY.

Tarea

Swipe to start coding

Completa los espacios en blanco para utilizar la función NTILE() de modo que a cada titular de cuenta se le asigne una clase del 1 al 4, donde la clase 1 corresponde a los saldos más altos.

  • Utiliza 4 como número de clases;
  • Ordena por la columna balance en orden descendente;
  • Asegúrate de que el resultado muestre account_holder, balance y su class.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
single

single

some-alt