Saltar al contenido principal
Página traducida

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';
consejo

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.