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.
FIRST_VALUE
Devuelve el valor de la expresión evaluada sobre la primera fila del marco de ventana.
Esta función de ventana integrada calcula el marco de ventana de cada fila de la misma manera que una función de ventana de agregación. Devuelve, para cada fila, el valor de la expresión evaluada sobre la primera fila del marco de ventana.
Consulte también:
[SELECT] [LAST_VALUE] [NTH_VALUE]
Sintaxis
SELECT FIRST_VALUE(expr) OVER (
[PARTITION BY column]
ORDER BY column
[ROWS BETWEEN frame_start AND frame_end]
) FROM <multipartIdentifier>;
Argumentos
expr La expresión que se evalúa sobre la primera fila del marco de ventana.
PARTITION BY column
Opcional. Divide el conjunto de resultados en particiones. La función FIRST_VALUE se aplica dentro de cada partición por separado.
ORDER BY column Especifica el orden en que se procesan las filas.
ROWS BETWEEN frame_start AND frame_end Opcional. Define el marco de ventana. Entre las opciones habituales se incluyen:
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW(valor predeterminado)ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
Valor(es) devuelto(s)
Devuelve el valor de la expresión evaluada sobre la primera fila del marco de ventana.
Ejemplos
Obtener la primera versión como contexto
-- Find first and latest release for context
SELECT
tag_name,
name,
published_at,
FIRST_VALUE(tag_name) OVER (
ORDER BY published_at
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) as first_release,
LAST_VALUE(tag_name) OVER (
ORDER BY published_at
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) as latest_release
FROM github.repos.releases
WHERE owner = 'stackql'
AND repo = 'stackql';
De forma predeterminada, el marco de ventana se extiende desde el inicio de la partición hasta la fila actual. Para incluir todas las filas de la partición, use ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.
Para obtener más información, consulte https://sqlite.org/windowfunctions.html#built-in_window_functions.