Eu tenho uma tabela com uma value
coluna. Quero calcular a última linha menos a primeira linha, como mostrado aqui:
id value
1 10
2 45
3 65
4 95
. .
. .
. .
500 200
Eu quero obter 200 - 10 = 190
No entanto, tentei usar o comando abaixo no SQL Server 2012 LAST
e FIRST
não funciona.
SELECT LAST(Value) - FIRST(Value) FROM Counter;
Qual é a sintaxe para este comando no SQL Server?
sql-server
sql-server-2012
t-sql
mohammad2050
fonte
fonte
IDENTITY
coluna ou talvez umaDATETIME
coluna que define quais são as "primeira" e "última" linhas?Respostas:
Você era próximo -
FIRST
eLAST
é do Access; no SQL Server (começando no SQL Server 2012) eles sãoFIRST_VALUE()
eLAST_VALUE()
.Portanto, se você tem 2012 ou melhor (ou Banco de Dados SQL do Azure), aqui está uma maneira de obter sua resposta:
fonte
Mais uma maneira (que também funciona em versões mais antigas):
fonte
Aqui está uma maneira de você fazer isso:
A idéia aqui é definir as linhas "primeira" e "última". Depois de defini-los, você pode simplesmente fazer a subtração.
fonte
Por que não usar as funções MAX e Min (opcional se você tiver Critérios, use Where)
Por exemplo. Selecione (Max (NumFieldName) - Min (NumFieldName)) AS Output FROM TableName
fonte
Value
coluna esteja sempre aumentando. A coluna de identidade é, no entanto.