Este tutorial visa orientá -lo para entender a função last_value () no SQL Server. A função permite buscar o último valor em um conjunto ordenado de valores ou uma partição.
Função Sintaxe
Abaixo está a sintaxe da função last_value.
Last_value ([scalar_expression]) [Ignore NULLS | Respeito nulas]
Sobre ([partition_by_clause] order_by_clause [robs_range_clause]))
Os argumentos da função são:
- escalar_expression - isso define o valor a ser retornado. Esta pode ser uma coluna existente, uma subconsulta ou uma expressão que retorne a um único valor.
- Ignorar nulas - isso permite que a função ignore os valores nulos no conjunto dado ao determinar o último valor em uma partição
- Respeito nulo - este é o oposto da cláusula de ignorar nulo. Força a função a considerar valores nulos ao determinar o último valor em uma partição.
- Partição por - os divide as fileiras de um determinado resultado em várias partições. A função last_value é então aplicada a essas partições. Se a cláusula partition_by estiver faltando, a função tratará o conjunto de resultados como um único grupo.
- Ordem por - isso determina em que ordem as linhas em uma determinada partição seguem.
- ROWS_RANGE - Esta cláusula limita as linhas em uma determinada partição. Isso funciona definindo um valor inicial e final.
A função retorna o tipo de escalar_expressão especificado.
Usando a função last_value em um conjunto de resultados
Suponha que tenhamos uma tabela como mostrado:
Podemos aplicar a função last_value () em um conjunto de resultados, conforme mostrado na consulta de exemplo abaixo:
Selecione
NOME DO SERVIDOR,
ENDEREÇO DO SERVIDOR ,
MÉTODO DE COMPRESSÃO,
TAMANHO NO DISCO,
last_value (size_on_disk) sobre (
Ordem por size_on_disk intervalo entre precedentes ilimitados e seguidores ilimitados) maior
de
Entradas e;
Valores resultantes:
Usando a função last_value em uma partição
Também podemos aplicar a função last_value () sobre a partição, como mostrado no exemplo abaixo:
Selecione
NOME DO SERVIDOR,
ENDEREÇO DO SERVIDOR ,
MÉTODO DE COMPRESSÃO,
TAMANHO NO DISCO,
last_value (size_on_disk) sobre (partição por compressão_method
Ordem por size_on_disk intervalo entre precedentes ilimitados e seguidores ilimitados) maior
de
Entradas e;
Nesse caso, os dados são agrupados em várias partições com base no método de compressão.
O valor resultante é como mostrado:
Na tabela acima, temos cinco partições, com o valor máximo em cada partição exibida na maior coluna.
Conclusão
Neste tutorial, você aprendeu a usar a função SQL Server last_value () para obter o último valor em um conjunto ou partição ordenados.