首先,我的桌子:
mysql> desc invoice;
+-------------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| date | timestamp | YES | | NULL | |
| sent | timestamp | YES | | NULL | |
| due_date | timestamp | YES | | NULL | |
| amount | float | YES | | NULL | |
| amount_due | float | YES | | NULL | |
| status | enum('unpaid','paid') | YES | | NULL | |
| customer_id | int(11) | NO | MUL | NULL | |
+-------------+-----------------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
谁能帮我想出一个查询,每行都会返回:
当天(所以按due_date分组)当天的起始余额(这将是前一天的期末余额)流入(当天积极交易的总数)流出(当天消极交易的总数)期末余额(所有流入和流出交易都应用后的当天的期末余额)
基本上每天我都想知道存了多少钱,取出了多少钱,当天开始的余额,结束的余额。
我还应该指定这一天,我想按“due_date”对行进行分组,并使用“amount”列作为所有交易的基础(忽略amount_due)。
有任何想法吗?
我可以开始制作另一个只包含此信息的表,但我认为也许有人可以提出一个漂亮的查询,可以根据实际数据执行此操作。