首先,我的表:MySQL根據發票獲得每日流入/流出?
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)。
任何想法?
我可以開始製作另一個只包含此信息的表的路徑,但也許有人可以想出一個可以從實際數據中做到這一點的漂亮查詢。
對不起,最近的回覆...假期和所有的假期。 我得到這個查詢工作: '選擇 日期(todaydata.postdate)爲踵, SUM(CASE時todaydata.amount> 0,則todaydata.amount ELSE 0 END)AS流入, SUM(CASE時todaydata。金額<0 THEN todaydata.amount ELSE 0 END)作爲OUTFLOW FROM發票as todaydata LEFT JOIN作爲昨天數據發票ON todaydata.postdate = DATE_ADD(昨天數據.postdate,區間-1天) GROUP BY日期(todaydata.postdate)' 難看的格式化stackoverflow!hah – 2012-01-10 22:33:42
我很難讓StartingBalance和EndingBalance正常工作。 EndingBalance相當於:startingbalance + inflow + outflow = endingbalance,StartingBalance當然會在第一行爲0,否則爲:StartingBalance = Yesterday的EndingBalance – 2012-01-10 22:37:08