Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.
NTILE
Divide la partición en N grupos de la forma más uniforme posible y asigna a cada grupo un entero entre 1 y N, en el orden definido por la cláusula ORDER BY, o en un orden arbitrario en caso contrario. Si es necesario, los grupos más grandes van primero.
Consulte también:
[SELECT] [RANK]
Sintaxis
SELECT NTILE(N) OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;
Argumentos
N Un entero positivo que especifica el número de grupos (cuantiles) en que se divide la partición.
PARTITION BY column
Opcional. Divide el conjunto de resultados en particiones. La función NTILE se aplica a cada partición por separado.
ORDER BY column Especifica el orden en que las filas se asignan a los cuantiles.
Valor(es) devuelto(s)
Devuelve un entero entre 1 y N que indica a qué cuantil (grupo) pertenece la fila actual.
Ejemplos
Agrupar colaboradores en cuartiles por nivel de contribución
-- Group contributors into quartiles by contribution level
SELECT
login,
contributions,
NTILE(4) OVER (ORDER BY contributions DESC) as contribution_quartile,
CASE NTILE(4) OVER (ORDER BY contributions DESC)
WHEN 1 THEN 'Top Contributors'
WHEN 2 THEN 'Active Contributors'
WHEN 3 THEN 'Moderate Contributors'
WHEN 4 THEN 'Occasional Contributors'
END as contributor_tier
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';
Use NTILE para crear segmentos o niveles en sus datos. Los casos de uso habituales incluyen dividir los datos en cuartiles (N=4), deciles (N=10) o percentiles (N=100).
Para obtener más información, consulte https://sqlite.org/windowfunctions.html#built-in_window_functions.