高效的查询来获取账户余额
问题描述:
我有这样的样品数据:http://sqlfiddle.com/#!9/124b62高效的查询来获取账户余额
什么是获得现金簿账户的开闭平衡的最佳方式(有效的查询)?
一种方法是找到总积分并从总借方中扣除。
SELECT sum(amount) as credit_total
FROM `cash_book`
WHERE `type` = 'credit'
AND `account_holder_id` =1
AND `created_at` >= '2016-07-31 00:00:00';
SELECT sum(amount) as debit_total
FROM `cash_book`
WHERE `type` = 'debit'
AND `account_holder_id` =1
AND `created_at` >= '2016-07-31 00:00:00';
有人可以提出更好的查询吗?
答
单次运行总
SELECT sum(case when `type` = 'credit' then -amount else amount end) as total
FROM `cash_book`
WHERE AND `account_holder_id` =1 and `created_at` >= '2016-07-31 00:00:00';
的想法SO是你尝试,并希望查询,当你有问题,你问你的企图帮助。 SO不是免费的编码或代码转换服务 – RiggsFolly