Tidak ada fungsi agregat untuk perbedaan, tetapi karena Anda tahu persis baris mana yang digunakan, Anda dapat memilih setiap nilai sebagai subkuerinya sendiri, lalu kurangi dua kolom satu sama lain dalam satu pernyataan pemilihan.
SELECT a.op, b.op, a.op - b.op as diff
FROM (SELECT 10 as op) a
JOIN (SELECT 8 as op) b
Dinyatakan sesuai dengan skema Anda, mungkin akan terlihat seperti ini:
SELECT a.op, b.op, a.op - b.op as diff
FROM (SELECT P_QTY as op FROM rankhistory WHERE P_QTY = 160) a
JOIN (SELECT P_QTY as op FROM rankhistory WHERE P_QTY = 108) b
Namun, untuk menggunakan pendekatan ini secara teratur dalam suatu aplikasi, Anda harus menanganinya berdasarkan ID atau sesuatu yang lain yang mudah dipilih dan bermakna.
Namun, sepertinya Anda menginginkan sesuatu yang lain. Mungkin Anda tertarik dengan perbedaan antara maks dan min selama rentang tanggal?
SELECT MAX(P_QTY) - MIN(P_QTY) as diff
FROM rankhistory
WHERE rh_date BETWEEN '1438556400' AND '1438642800'