我是一个mysql新手,这里需要一些sql查询的帮助,我不能理解。
我目前有一个表Transact包含这样的内容:
Paytype Amount Date
Cash 100.0 2013-08-01
Visa 50.00 2013-09-2
Check 50.00 2013-11-12
Cash 75.00 2013-12-01
Cash 50.00 2013-12-19
Visa 100.00 2014-3-01
Cash 20.00 2014-5-20
根据交易日期订购的金额和支付类型,我希望将其查询到一个表格中,该表格给出每种支付类型的金额总和,并按支付类型分组,如下所示:
Paytype Total
Cash 245.00
Visa 100.00
Check 50.00
让它基于日期范围,所以说我希望它基于2013-12-15到2014-5-01。 目前,我可以通过
获得特定薪资类型的单笔金额select paytype, (SUM(IF(paytype = 'Cash', Amount, 0)) from Transact group by paytype.
请帮助执行正确的查询!非常感谢!
答案 0 :(得分:1)
您可以使用基本Group By
和Sum
查询执行此操作:
Select Paytype, Sum(Amount) As Total
From Transact
Where Date Between '2013-12-15' And '2014-05-01'
Group by Paytype
答案 1 :(得分:1)
您希望在日期间隔中将每种付款类型的金额相加。这很简单地转换为sql(我认为):
Select Paytype, sum(Amount) as Total
From Transact
Where (`Date` between ?start_date
And ?end_date)
Group by Paytype
只需将?start_date
和?end_date
替换为您要检查的范围。