- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先是我的 table :
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 分组)当天的期初余额(这将是前一天的期末余额)流入(当天的正交易总额)流出量(当天的负交易总数)期末余额(所有流入和流出交易应用后的当日期末余额)
基本上每天我都想知道存了多少钱,取了多少钱,当天的余额是什么时候开始的,什么时候结束的。
我还应该指定当天,我想按“到期日期”对行进行分组,并使用“金额”列作为所有交易的基础(忽略到期金额)。
有什么想法吗?
我可以开始制作另一个只包含此信息的表,但我认为也许有人可以想出一个漂亮的查询来根据实际数据执行此操作。
最佳答案
这是我的看法。基本上你通过
加入发票表todaydata.due_date=DATE_ADD(yesterdaydata.due_date,DAY,-1)
所以你可以访问昨天的 amount_due 字段(我做了一个左连接所以如果你在你的表中请求第一天,你仍然会得到一个记录)
剩下的就很简单了。我不确定今天的期末余额是昨天+流入+流出的总和还是只是今天data.amount_due的总和,所以我把两者都包括在内。
SELECT
todaydata.due_date,
SUM(case when yesterdaydata.amount_due is null then 0 else yesterdaydata.amount_due end )) AS StartingBalance,
SUM(CASE when todaydata.amount > 0 THEN todaydata.amount ELSE 0 END) AS INFLOW,
SUM(CASE when todaydata.amount < 0 THEN todaydata.amount ELSE 0 END) AS OUTFLOW,
SUM(yesterday.amount_due) AS StartingBalance +
SUM(CASE where todaydata.amount > 0 THEN todaydata.amount ELSE 0 END) +
SUM(CASE where todaydata.amount < 0 THEN todaydata.amount ELSE 0 END) AS CalculatedEndingBalance,
SUM(todaydata.amount_due) AS OtherEndingBalance
FROM invoice [todaydata]
LEFT JOIN invoice [yesterdaydata] ON todaydata.due_date=DATE_ADD(yesterdaydata.due_date,DAY,-1)
GROUP BY todaydata.due_date
我没有能力针对 mysql 数据库进行测试,所以让我知道任何语法错误,我会改正。
关于MySQL 根据发票获取每日流入/流出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610772/
这就是让我夜哭的原因。人们会希望 CSS 有一个指令 margin-collapse:none;,但唉,那是我的想象。 如何让两个流入的 sibling 不崩溃? 我在元素上和生成元素之前都尝试过ov
我不知道这叫什么,但我在一些网站上看到过,当一个 div 滚动到 View 中时,它会流到顶部隐藏前一个 block (很好地滚动到 View 之外)。它像幻灯片一样,但垂直显示内容。它有点像普通的滚
过去,我使用 go 以如下所示的方式从 API 端点解码 JSON。 client := &http.Client{} req, err := http.NewRequest("GET", "http
我是一名优秀的程序员,十分优秀!