Tengo una mesa con una value
columna. Quiero calcular la última fila menos la primera fila, como se muestra aquí:
id value
1 10
2 45
3 65
4 95
. .
. .
. .
500 200
Quiero obtener 200 - 10 = 190
Sin embargo, he tratado de usar el siguiente comando en SQL Server 2012 LAST
y FIRST
no funciona.
SELECT LAST(Value) - FIRST(Value) FROM Counter;
¿Cuál es la sintaxis para este comando en SQL Server?
sql-server
sql-server-2012
t-sql
mohammad2050
fuente
fuente
IDENTITY
columna o quizás unaDATETIME
columna que defina cuáles son las filas "primera" y "última"?Respuestas:
Estabas cerca,
FIRST
yLAST
eres de Access; en SQL Server (a partir de SQL Server 2012) sonFIRST_VALUE()
yLAST_VALUE()
.Entonces, si tiene 2012 o mejor (o Azure SQL Database), esta es una forma de obtener su respuesta:
fuente
Una forma más (que también funciona en versiones anteriores):
fuente
Aquí hay una manera de hacer eso:
La idea aquí es definir las filas "primera" y "última". Una vez que los haya definido, simplemente puede hacer la resta.
fuente
¿Por qué no usar las funciones MAX y Min?
P.ej. Seleccione (Máx. (NumFieldName) - Mín. (NumFieldName)) COMO salida DE TableName
fuente
Value
columna siempre esté aumentando. La columna de identidad es, sin embargo.