WITH amounts AS ( SELECT o.id AS order_id, l.cents AS ledger_cents, COALESCE((SELECT SUM(p.cents) FROM payments p, settings s WHERE p."order"=o.id AND p.status='captured' AND julianday(p.at)<=julianday(s.cutoff)),0) - COALESCE((SELECT SUM(r.cents) FROM refunds r, settings s WHERE r."order"=o.id AND r.status='completed' AND julianday(r.at)<=julianday(s.cutoff)),0) AS net_cents FROM orders o JOIN ledger l ON l."order"=o.id WHERE o.status='completed' AND o.currency='CNY' ) SELECT difference_cents, ledger_cents, order_id, net_cents FROM ( SELECT order_id, net_cents, ledger_cents, net_cents-ledger_cents AS difference_cents FROM amounts ) ORDER BY order_id DESC;