Criterio PARTITION BY
Parte de la sección Fundamentos del Journey de SQL de Coddy. Lección 59 de 72.
Otra opción para la cláusula OVER () es PARTITION BY
Nos permite numerar las filas de cada grupo por separado
Por ejemplo:
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Esto generará una columna que numerará cada tipo dentro de sí mismo:
| id | type | row_num |
| 132 | t1 | 1 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
id 92 tiene row_num 1 porque es el id más pequeño en type t1.
Nota: ROW_NUMBER() requiere una cláusula ORDER BY dentro de OVER() para determinar cómo deben numerarse las filas dentro de cada partición.
Incluso podemos especificar varias columnas dentro de PARTITION BY:
ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)Desafío
FácilTablas y columnas disponibles:
doors:id,publication_yeardoors_specs:id,country,color
Una fábrica está construyendo puertas. Necesita numerar las puertas para cada combinación de country y color que tenga un publication_year menor que 2000. Nombra esta columna row_num.
Las puertas deben numerarse dentro de cada grupo en orden ascendente según su id. Las puertas sin especificaciones deben ignorarse. Ordena el resultado final en orden ascendente según el id.
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()8Estadística
Agregación integrada, parte 1Agregación integrada, parte 2Agrupación, parte 1Agrupación, parte 2Subconsultas, parte 1Subconsultas, parte 2Repaso: tienda de ganancias totalesRepaso: tienda de scootersRepaso: cafetería11Funciones de ventana, parte 1
Función ROW_NUMBERCriterio ORDER BYCriterio PARTITION BYPARTITION y ORDERFunciones LEAD y LAGRepaso: LEAD y LAGRepaso: imágenesRepaso: cuadros3Formato 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