首先,我的桌子:
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)。
有任何想法吗?
我可以开始制作另一个只包含此信息的表,但我认为也许有人可以提出一个漂亮的查询,可以根据实际数据执行此操作。