Hóa ra tôi đang nhìn vấn đề theo một cách khá kinh khủng. Thay vì tìm chính xác cặp đảo ngược, tôi vừa thực hiện SUM với GROUP BY, vì vậy chỉ những giá trị mà tôi quan tâm đến việc giữ lại.
Kết quả cuối cùng là các giao dịch sẽ kết thúc khác biệt - đặc biệt nếu, giống như trong trường hợp của tôi, bảng giao dịch thực thực sự là một giá trị datetime thay vì ngày tháng.
SELECT SUM(QTY) AS newQTY, DATE, FUEL_TYPE
FROM fuel_transactions
GROUP BY DATE, FUEL_TYPE
Lần duy nhất điều này sẽ không tạo ra các giá trị mà bạn thực sự muốn là nếu bạn có nhu cầu duy trì id của các giao dịch hoặc nếu bạn gặp tình huống trong đó nhiều giao dịch xảy ra tại chính xác cùng một lúc.