Anda memerlukan beberapa cara untuk menentukan urutan baris dalam score . Tidak ada "tatanan alami" dalam tabel dalam database relasional. Jadi saya berasumsi Anda memiliki id (atau stempel waktu atau sesuatu) untuk memesan catatan Anda. Atau i dijamin lebih besar di setiap baris baru? Kemudian Anda bisa memesan dengan i .
Kuerinya sendiri sederhana - setelah Anda mengetahui tentang window fungsi :
SELECT i - lag(i, 1, 0) OVER (ORDER BY id) AS result
FROM score
ORDER BY id;
Termasuk peningkatan oleh @Clodoaldo (lihat komentar).
lag(i, 1, 0) OVER (ORDER BY id)
setara dengan, tetapi lebih elegan dari:
COALESCE(lag(i) OVER (ORDER BY id), 0)
Tujuannya adalah untuk menutupi kasus khusus dari baris pertama yang tidak memiliki baris sebelumnya.
Demo di sqlfiddle.
sum(result) sepele karena terikat sama dengan i terakhir sesuai dengan deskripsi Anda:
SELECT i
FROM score
ORDER BY id DESC
LIMIT 1;