Saya punya meja dengan value
kolom. Saya ingin menghitung baris terakhir dikurangi baris pertama, seperti yang ditunjukkan di sini:
id value
1 10
2 45
3 65
4 95
. .
. .
. .
500 200
Saya ingin mendapatkan 200 - 10 = 190
Saya sudah mencoba menggunakan perintah di bawah ini di SQL Server 2012, namun LAST
dan FIRST
tidak berhasil.
SELECT LAST(Value) - FIRST(Value) FROM Counter;
Apa sintaks untuk perintah ini di SQL Server?
sql-server
sql-server-2012
t-sql
mohammad2050
sumber
sumber
IDENTITY
kolom atau mungkinDATETIME
kolom yang mendefinisikan apa baris "pertama" dan "terakhir"?Jawaban:
Anda dekat -
FIRST
danLAST
berasal dari Access; di SQL Server (dimulai dengan SQL Server 2012) merekaFIRST_VALUE()
danLAST_VALUE()
.Jadi, jika Anda 2012 atau lebih baik (atau Azure SQL Database), berikut adalah satu cara untuk mendapatkan jawaban Anda:
sumber
Satu lagi cara (yang bekerja di versi yang lebih lama juga):
sumber
Inilah salah satu cara Anda bisa melakukan itu:
Idenya di sini adalah untuk mendefinisikan baris "pertama" dan "terakhir". Setelah Anda menentukannya, Anda cukup melakukan pengurangan.
sumber
Mengapa tidak menggunakan Fungsi MAX dan Min (Opsional jika Anda memiliki Kriteria gunakan Di Mana)
Misalnya. Pilih (Max (NumFieldName) - Min (NumFieldName)) AS Output DARI TableName
sumber
Value
kolom selalu meningkat. Namun, kolom identitas adalah.