У меня есть таблица с value
колонкой. Я хочу вычислить последнюю строку минус первую строку, как показано здесь:
id value
1 10
2 45
3 65
4 95
. .
. .
. .
500 200
Я хочу получить 200 - 10 = 190
Я попытался использовать приведенную ниже команду в SQL Server 2012, однако LAST
и FIRST
не работает.
SELECT LAST(Value) - FIRST(Value) FROM Counter;
Каков синтаксис этой команды в SQL Server?
sql-server
sql-server-2012
t-sql
mohammad2050
источник
источник
IDENTITY
столбец или, возможно,DATETIME
столбец, который определяет, что такое «первая» и «последняя» строки?Ответы:
Вы были рядом -
FIRST
иLAST
из Access; в SQL Server (начиная с SQL Server 2012) они естьFIRST_VALUE()
иLAST_VALUE()
.Итак, если вы 2012 или выше (или База данных SQL Azure), вот один из способов получить ваш ответ:
источник
Еще один способ (который работает и в более старых версиях):
источник
Вот один из способов сделать это:
Идея здесь состоит в том, чтобы определить «первую» и «последнюю» строки. Как только вы их определили, вы можете просто сделать вычитание.
источник
Почему бы не использовать функции MAX и Min (Необязательно, если у вас есть Критерии, используйте Где)
Например. Выберите (Макс. (NumFieldName) - Мин. (NumFieldName)) AS Выходные данные из TableName
источник
Value
столбец всегда увеличивается. Столбец идентичности, однако.