Tengo una mesa con una valuecolumna. 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 LASTy FIRSTno 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

IDENTITYcolumna o quizás unaDATETIMEcolumna que defina cuáles son las filas "primera" y "última"?Respuestas:
Estabas cerca,
FIRSTyLASTeres 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
Valuecolumna siempre esté aumentando. La columna de identidad es, sin embargo.