J'ai un tableau avec une value
colonne. Je veux calculer la dernière ligne moins la première ligne, comme indiqué ici:
id value
1 10
2 45
3 65
4 95
. .
. .
. .
500 200
Je veux obtenir 200 - 10 = 190
J'ai cependant essayé d'utiliser la commande ci-dessous dans SQL Server 2012 LAST
et FIRST
ne fonctionne pas.
SELECT LAST(Value) - FIRST(Value) FROM Counter;
Quelle est la syntaxe de cette commande dans SQL Server?
sql-server
sql-server-2012
t-sql
mohammad2050
la source
la source
IDENTITY
colonne ou peut-être uneDATETIME
colonne qui définit ce que sont les "premières" et "dernières" lignes?Réponses:
Vous étiez proche -
FIRST
etLAST
êtes d'Access; dans SQL Server (à partir de SQL Server 2012), ils sontFIRST_VALUE()
etLAST_VALUE()
.Donc, si vous êtes 2012 ou mieux (ou Azure SQL Database), voici une façon d'obtenir votre réponse:
la source
Une autre façon (qui fonctionne également dans les anciennes versions):
la source
Voici une façon de procéder:
L'idée ici est de définir les "premières" et "dernières" lignes. Une fois que vous les avez définis, vous pouvez simplement faire la soustraction.
la source
Pourquoi ne pas utiliser les fonctions MAX et Min (facultatif si vous avez des critères, utilisez Où)
Par exemple. Sélectionnez (Max (NumFieldName) - Min (NumFieldName)) AS Output FROM TableName
la source
Value
colonne augmente toujours. La colonne d'identité l'est cependant.