Función NTILE
Parte de la sección Fundamentos del Journey de SQL de Coddy. Lección 67 de 72.
NTILE(n) numera las filas dividiéndolas en n piezas aproximadamente iguales. Se usa a menudo para mejorar el rendimiento: enviar grandes cantidades de datos de una sola vez podría no ser una buena idea, por lo que esta función permite enviar piezas más pequeñas cada vez.
Por ejemplo:
| id | nivel |
| 1 | 4 |
| 2 | 4 |
| 3 | 5 |
| 4 | 6 |
| 5 | 7 |
| 6 | 7 |
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1Esto devolverá:
| id | level | pieces |
| 1 | 4 | 1 |
| 2 | 4 | 1 |
| 3 | 5 | 2 |
| 4 | 6 | 2 |
| 5 | 7 | 3 |
| 6 | 7 | 3 |
Obtuvimos 3 partes: el nivel 4 en la parte 1, los niveles 5 y 6 en la parte 2, y el nivel 7 en la parte 3.
Cuando el número de filas no es divisible exactamente entre n, NTILE distribuye las filas de la manera más uniforme posible, y los grupos más grandes aparecen primero. Por ejemplo, si tienes 9 filas y NTILE(4), la distribución sería:
- Grupo 1: 3 filas
- Grupo 2: 2 filas
- Grupo 3: 2 filas
- Grupo 4: 2 filas
Esto garantiza que ningún grupo difiera en más de una fila de cualquier otro grupo, y que las filas adicionales se distribuyan primero entre los grupos con los números más bajos.
Desafío
FácilTablas y columnas disponibles:
creatures:creature_name,preference,has_legs(contiene 'YES' o 'NO')
En este desafío, tenemos criaturas que quieren encontrar a su pareja. Necesitamos ayudarlas a encontrar su pareja ideal.
Cada criatura tiene una preferencia que se representa como un número. Si ambas criaturas tienen un número lo suficientemente cercano, podrían ser una buena pareja.
Divide las criaturas en 3 grupos según sus valores de preferencia, pero considera únicamente las criaturas que tienen patas (donde has_legs = 'YES'). Devuelve creature_name, preference y su group_number (1, 2 o 3). Ordena los resultados por preference en orden ascendente.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Más palabras clave
La palabra clave INLa palabra clave BETWEENLa palabra clave LIKELa palabra clave ASRepaso: modelos de celulares2Condiciones
Conceptos básicos de las condicionesLa palabra clave ANDLa palabra clave ORLa palabra clave NOTCombinación de múltiples condicionesParéntesisBooleanos5Operaciones aritméticas
Operadores matemáticosColumnas matemáticasLa operación móduloLa función ROUND()3Formato de retorno específico
Valores nulosOrdenar resultados, parte 1Ordenar resultados, parte 2Repaso: empresa de ciberseguridadLimitar el número de registrosRepaso: fábrica de vehículos6Desafíos introductorios
Repaso - Elección parlamentariaRepaso - Detención policial de un criminalRepaso - Recipiente de bebida de barRepaso - Ingeniería de nuevas columnas9Múltiples tablas
Unión básica, parte 1Unión básica, parte 2Repaso: uniónAutouniónRepaso: autouniónUniónSimplificar consultas, palabra clave WITHRepaso: consultas WITHRepaso: contratista inmobiliario12Funciones de ventana, parte 2
Funciones RANK y DENSE_RANKRepaso: RANK y DENSE_RANKFunción NTILEFunciones de agregaciónCriterio ROWS y RANGEPractica por tu cuenta: Playground de SQL