ROW_NUMBER function
Parte de la sección Fundamentos del Journey de SQL de Coddy. Lección 57 de 72.
Las funciones de ventana (window functions) realizan cálculos a través de un conjunto de filas de una tabla relacionadas con la fila actual. A diferencia de las funciones de agregación habituales, 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 o posteriores
- Analizar tendencias a lo largo de períodos de tiempo
Por ejemplo, aquí hay algunos ejemplos del mundo real para el caso de uso de funciones window:
- Análisis de sales
- Calcular las sales acumuladas hasta each año (1995, 1997, 1999)
- Encontrar los productos más vendidos para each trimestre
- Estadísticas Deportivas
- Rastrear el recuento de medallas olímpicas a lo largo de diferentes años
- Identificar 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. Así es como se usa:
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 añade 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 una densidad mayor a 5.677.
Enumera el resultado (usa la función ROW_NUMBER()) y llama a esta columna row_num
Pruébalo tú mismo
-- Numera cada fila del resultado filtrado usando una función de ventana
SELECT id, density, ____ as row_num
FROM liquids
WHERE density > ____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 columnsPractica por tu cuenta: Playground de SQL