Data Analytics

SQL - Window Functions

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames

20 preguntas de entrevista·
Mid-Level
1

¿Qué es una window function en SQL?

Respuesta

Una window function realiza un cálculo sobre un conjunto de filas relacionadas con la fila actual, sin colapsar los resultados en una sola fila de salida. A diferencia de GROUP BY que reduce el número de filas, una window function preserva todas las filas en el resultado mientras agrega una columna calculada. La cláusula OVER() define la ventana sobre la cual se realiza el cálculo.

2

¿Qué cláusula es obligatoria para definir una window function?

Respuesta

La cláusula OVER() es obligatoria para cualquier window function. Indica al motor SQL que la función debe ejecutarse como una función de ventana en lugar de una función de agregación regular. OVER() puede contener PARTITION BY, ORDER BY y una especificación de frame, pero también puede permanecer vacía para aplicar el cálculo en todo el conjunto de resultados.

3

¿Cuál es el papel de PARTITION BY en una window function?

Respuesta

PARTITION BY divide el conjunto de filas en grupos (particiones) independientes, y la window function se aplica por separado a cada partición. A diferencia de GROUP BY, PARTITION BY no reduce el número de filas en el resultado. Por ejemplo, SUM(sales) OVER(PARTITION BY region) calcula las ventas totales por región mientras preserva cada fila individual.

4

¿Cuál es la principal diferencia entre GROUP BY y PARTITION BY?

5

¿Qué devuelve ROW_NUMBER() OVER(ORDER BY salary DESC)?

+17 preguntas de entrevista

Domina Data Analytics para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis