1、根据用户的字段类型相加减。用户的收入明细-该用户的支出明细
建表:
CREATE TABLE `test` (
`amt` int(11) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
查询sql:
#用户的收入明细 减去 该用户的支出明细
SELECT user_id,((SELECT SUM(amt) FROM test WHERE type="I" AND user_id=t.user_id)-(SELECT SUM(amt) FROM test WHERE type="O" AND user_id=t.user_id)) AS 剩余金额
FROM test t GROUP BY t.user_id;
效果图: