我有这样的表
----------------------------------------------------------------------
| TransactionDate | Price | DownPayment | Status | DatePaid |
---------------------------------------------------------------------
2018-01-03 | 1000 | 1000 | PAID OFF | 2018-01-03
2018-01-03 | 1000 | 500 | -500 | 2018-01-03
2018-01-01 | 1000 | 0 | PAID OFF | 2018-01-03
根据表格,我有3排,第1排当有人进行交易而刚刚还清了他们的交易,第2位是有人支付了一半的价格,最后一位是有人做过交易之前,但刚刚付款它今天。
我想根据日期付款计算我今天得到的钱,在该表上,SUM应为2500.
答案 0 :(得分:2)
在mysql中我们可以使用像这样的case语句
select SUM(CASE WHEN Status = 'PAID OFF' THEN Price ELSE Price/2 END) as total where date(DatePaid) = CURDATE()
但是表格设计不是那么好来执行这些聚合函数。特别是状态栏。