56,876
社区成员




mysql> select * from tab
-> ;
+--------+------+------------+---------------------+
| amount | side | history_id | add_date |
+--------+------+------------+---------------------+
| 10 | 1 | 1 | 2019-06-26 11:05:09 |
| 10 | 2 | 1 | 2019-06-26 16:30:13 |
| 10 | 1 | 1 | 2019-06-25 11:00:00 |
| 10 | 1 | 1 | 2019-06-26 11:05:11 |
| 10 | 1 | 2 | 2019-06-26 11:22:11 |
+--------+------+------------+---------------------+
5 rows in set (0.00 sec)
mysql> select a.`date`,sum(if(a.side=1,a.amount,0)) as incountAmount,sum(if(a.side=2,a.amount,0)) as extractAmount from (select date(add_date) as `date`,side,sum(amount) as amount from tab group by date(add_date),side) a group by a.`date`;
+------------+---------------+---------------+
| date | incountAmount | extractAmount |
+------------+---------------+---------------+
| 2019-06-25 | 10 | 0 |
| 2019-06-26 | 30 | 10 |
+------------+---------------+---------------+
2 rows in set (0.00 sec)