ROW_NUMBER function
Parte de la sección Fundamentos del Journey de SQL de Coddy — lección 57 de 72.
Las funciones de ventana realizan cálculos sobre un conjunto de filas de tabla relacionadas con la fila actual. A diferencia de las funciones de agregación regulares, las funciones de ventana no colapsan los resultados en una sola fila.
Son particularmente útiles cuando necesitas:
- Calcular totales acumulados
- Clasificar elementos dentro de grupos
- Comparar filas actuales con filas anteriores/siguientes
- Analizar tendencias en períodos de tiempo
Por ejemplo, aquí hay algunos ejemplos del mundo real para casos de uso de funciones de ventana:
- Análisis de Ventas
- Calcular las ventas acumuladas hasta cada año (1995, 1997, 1999)
- Encontrar los productos más vendidos para cada trimestre
- Estadísticas Deportivas
- Rastrea los conteos de medallas olímpicas a lo largo de diferentes años
- Identifica a los atletas líderes en cada período de competencia (2000, 2004, 2008)
ROW_NUMBER() es una de las funciones de ventana más simples. Asigna un número secuencial único a cada fila en el conjunto de resultados. Aquí cómo usarla:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;Es obligatorio usar la cláusula OVER con ROW_NUMBER(): ROW_NUMBER() OVER ()
Por ejemplo:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;Esto agrega una columna row_num que cuenta desde 1 hasta el número total de filas.
Nota: La cláusula OVER puede contener instrucciones de ordenación y particionamiento para controlar cómo funciona la numeración.
Desafío
FácilTablas y columnas disponibles:
<strong>liquids</strong>:<strong>id</strong>,<strong>density</strong>
Obtén todos los líquidos con densidad mayor a 5.677.
Numera el resultado (usa la función ROW_NUMBER()) y llama a esta columna row_num
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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function8Statistics
Built-In Aggregate Part 1Built-In Aggregate Part 2Grouping Part 1Grouping Part 2Subqueries Part 1Subqueries Part 2Recap - Total Gain ShopRecap - Scooter ShopRecap - Coffee Shop11Window Functions part 1
ROW_NUMBER functionORDER BY criterionPARTITION BY criterionPARTITION & ORDERLEAD & LAG FunctionsRecap - LEAD & LAGRecap - PicturesRecap - Boxes3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns