Der er ingen aggregeret funktion til forskel, men da du ved præcis, hvilke rækker du skal bruge, kan du vælge hver værdi som sin egen underforespørgsel og derefter trække de to kolonner fra hinanden i en enkelt select-sætning.
SELECT a.op, b.op, a.op - b.op as diff
FROM (SELECT 10 as op) a
JOIN (SELECT 8 as op) b
Udtrykt i overensstemmelse med dit skema ville det sandsynligvis se sådan ud:
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
For at bruge denne tilgang regelmæssigt i en applikation, vil du dog gerne håndtere den baseret på ID'er eller noget andet, der er let at vælge og meningsfuldt.
Det lyder dog som om du vil noget andet. Måske er du interesseret i forskellen mellem maks. og min. i et datointerval?
SELECT MAX(P_QTY) - MIN(P_QTY) as diff
FROM rankhistory
WHERE rh_date BETWEEN '1438556400' AND '1438642800'