LAGfunção de janela - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

LAGfunção de janela

A função LAG window retorna os valores de uma linha em um determinado deslocamento acima (antes) da linha atual na partição.

Sintaxe

LAG (value_expr [, offset ]) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] ORDER BY window_ordering )

Argumentos

value_expr

A coluna ou expressão de destino na qual a função opera.

deslocamento

Um parâmetro opcional que especifica o número de linhas antes da linha atual para as quais retornar valores. Este deslocamento pode ser um inteiro constante ou uma expressão que avalia para um inteiro. Se você não especificar um deslocamento, AWS Clean Rooms usa 1 como valor padrão. Um deslocamento de 0 indica a linha atual.

IGNORE NULLS

Uma especificação opcional que indica que os valores nulos AWS Clean Rooms devem ser ignorados na determinação de qual linha usar. Valores nulos são incluídos se não IGNORE NULLS estiverem listados.

nota

Você pode usar uma COALESCE expressão NVL ou para substituir os valores nulos por outro valor.

RESPECT NULLS

Indica que AWS Clean Rooms deve incluir valores nulos na determinação de qual linha usar. RESPECTNULLSé suportado por padrão se você não especificar IGNORENULLS.

OVER

Especifica o particionamento e ordem da janela. A OVER cláusula não pode conter uma especificação de moldura de janela.

PARTITIONPOR window_partition

Um argumento opcional que define o intervalo de registros para cada grupo na OVER cláusula.

ORDERPOR window_ordering

Classifica as linhas dentro de cada partição.

A função de LAG janela oferece suporte a expressões que usam qualquer um dos tipos de AWS Clean Rooms dados. O tipo de retorno é igual ao tipo de value_expr.

Exemplos

O seguinte exemplo mostra a quantidade de ingressos vendidos para o comprador com ID de comprador 3 e a hora que o comprador 3 adquiriu os ingressos. Para comparar cada venda com venda anterior para o comprador 3, a consulta retorna a quantidade anterior vendida em cada venda. Já que não há compras antes de 1/16/2008, o primeiro valor de quantidade vendida anteriormente é nulo:

select buyerid, saletime, qtysold, lag(qtysold,1) over (order by buyerid, saletime) as prev_qtysold from sales where buyerid = 3 order by buyerid, saletime; buyerid | saletime | qtysold | prev_qtysold ---------+---------------------+---------+-------------- 3 | 2008-01-16 01:06:09 | 1 | 3 | 2008-01-28 02:10:01 | 1 | 1 3 | 2008-03-12 10:39:53 | 1 | 1 3 | 2008-03-13 02:56:07 | 1 | 1 3 | 2008-03-29 08:21:39 | 2 | 1 3 | 2008-04-27 02:39:01 | 1 | 2 3 | 2008-08-16 07:04:37 | 2 | 1 3 | 2008-08-22 11:45:26 | 2 | 2 3 | 2008-09-12 09:11:25 | 1 | 2 3 | 2008-10-01 06:22:37 | 1 | 1 3 | 2008-10-20 01:55:51 | 2 | 1 3 | 2008-10-28 01:30:40 | 1 | 2 (12 rows)