Funciones de ventana en Snowflake
Jake Roach
Field Data Engineer
Se usa para realizar un cálculo en una "ventana" de filas y devolver un valor para cada fila
$$
$$
Ranking
RANK, DENSE_RANKFIRST_VALUE, LAST_VALUE, NTH_VALUELAG, LEADAgregación
COUNT, SUM, AVG¡Las funciones de ventana nos ayudan a responder nuevos tipos de preguntas!
$$
La función de agregación tradicional debe tener una cláusula GROUP BY.


¡No requieren GROUP BY!
SELECT
<other-fields>,
ROW_NUMBER() OVER(
ORDER BY <field>
) AS <alias>
FROM SCHEMA.table
...;
La función ROW_NUMBER() asigna un número de fila a cada registro en un conjunto de resultados
$$
OVER() define la ventanaGROUP BY!SELECT
customer_id,
event_name,
-- Asigna un número de fila a cada
-- registro en el conjunto de resultados
ROW_NUMBER() OVER(
ORDER BY time_spent_minutes
) AS row_num
FROM concerts.attendance;
customer_id | event_name | row_num
------------- | ------------ | ---------
1931292 | Music Fest | 1
5462384 | Elton John | 2
7732891 | Coachella | 3
3124888 | Porch Fest | 4
$$
$$
Recuerda la sintaxis: ROW_NUMBER() OVER( ORDER BY ...)!
Funciones de ventana en Snowflake