带条件求和

1szpjjfi  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(320)

我有一张这样的table

----------------------------------------------------------------------
| 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行,第一行是有人做了交易,刚刚付清了他们的交易,第二行是有人付了一半的价格,最后一行是有人以前做过交易,但今天才付清。
我想把我今天收到的钱按付款日期算出来,在那张表上,总数应该是2500英镑。

ghhkc1vu

ghhkc1vu1#

在mysql中,我们可以使用这样的case语句

select SUM(CASE WHEN Status = 'PAID OFF' THEN Price ELSE Price/2 END) as total where date(DatePaid) = CURDATE()

但是表的设计并不能很好地执行这些聚合函数。尤其是状态栏。

相关问题