Dónde cae una fila en la distribución en SQL
No el rango sino la fracción: ¿cuánta tabla queda detrás de esta fila?
SELECT
name,
score,
ROUND(PERCENT_RANK() OVER by_score, 3) AS pct_below,
ROUND(CUME_DIST() OVER by_score, 3) AS cumulative,
NTILE(4) OVER by_score AS quartile
FROM players
WINDOW by_score AS (
ORDER BY score
);
Cómo funciona
PERCENT_RANKcorre de 0 a 1 y responde qué proporción queda debajo.CUME_DISTincluye la fila actual, así que nunca devuelve 0.NTILE(4)es la misma idea redondeada en cuatro segmentos.
Palabras clave y builtins usados aquí
ASBYFROMORDERSELECT
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 210
- Tokens
- 50
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 32 segundos.
Paso 9 de 9 en Funciones de ventana; paso 15 de 24 en Analítica y reportes.