Data Engineering

SQL avanzado para Data Engineering

Window functions, CTEs recursivas, consultas analíticas, optimización, EXPLAIN ANALYZE, indexación, particionamiento

20 preguntas de entrevista·
Mid-Level
1

¿Qué window function asigna un número secuencial único a cada fila dentro de una partición?

Respuesta

ROW_NUMBER() asigna un número secuencial único a cada fila dentro de una partición, comenzando en 1. A diferencia de RANK() y DENSE_RANK() que pueden asignar el mismo número a valores iguales, ROW_NUMBER() siempre garantiza números únicos, incluso para valores idénticos en la cláusula ORDER BY.

2

¿Cuál es la principal diferencia entre RANK() y DENSE_RANK()?

Respuesta

RANK() deja huecos en la numeración después de valores empatados. Por ejemplo, si dos filas están clasificadas como 1, la siguiente será 3. DENSE_RANK() no deja huecos: después de dos filas clasificadas como 1, la siguiente será 2. Esta distinción es importante para análisis de clasificación donde los huecos pueden distorsionar las estadísticas.

3

¿Cómo calcular una suma acumulativa (running total) con una window function?

Respuesta

SUM() OVER con ORDER BY sin un frame explícito usa por defecto ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, que calcula la suma de todas las filas precedentes hasta e incluyendo la fila actual. Este es el comportamiento estándar para crear totales acumulativos en análisis de series temporales o secuenciales.

4

¿Cuál es el rol de la cláusula PARTITION BY en una window function?

5

¿Qué función permite acceder al valor de la fila anterior en una window function?

+17 preguntas de entrevista

Domina Data Engineering para tu próxima entrevista

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

Empieza gratis