Menu
Coddy logo textTech

PARTITION & ORDER

Parte de la sección Fundamentos del Journey de SQL de Coddy — lección 60 de 72.

También podemos combinar PARTITION BY con ORDER BY. Por ejemplo, considere la siguiente table1:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

Esto numerará las filas en orden ascendente por el id de cada tipo:

idtyperow_num
132t12
52t21
92t11
154t31
198t13

Ahora, el id 132 tiene row_num 2 porque es mayor que 92 y menor que 198 (de todas las filas de tipo t1).

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • <strong>doors</strong>: <strong>id</strong>, <strong>publication_year</strong>
  • <strong>doors_specs</strong>: <strong>id</strong>, <strong>country</strong>, <strong>color</strong>

Escribe una consulta SQL para analizar la secuencia de colores de puertas dentro de cada país, ordenada por año de publicación. Para cada puerta, muestra:

  • El país
  • El color
  • El año de publicación
  • Un número que representa el orden de colores dentro de cada país basado en el año de publicación. Llama a esta columna color_sequence_number

Hoja de referencia

Puedes combinar PARTITION BY con ORDER BY para numerar las filas dentro de cada partición en un orden específico:

SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

Esto numera las filas en orden ascendente por id dentro de cada grupo de type. Cada partición reinicia la numeración desde 1.

Pruébalo tú mismo

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos