【发布时间】:2016-11-19 09:34:48
【问题描述】:
我有一个名为 t1 的表 firebird,它有 3 列(周、日期、金额)。 我需要按周列对数据库进行分组,并且
- 总和正数(库存)
- 总负数(已售出)
- 从已售出的(当前记录)中减去库存(以前的记录)
我附上了t1和t2的图片
t1:
week date amount
18/06/2016 14/06/2016 94
18/06/2016 15/06/2016 0
18/06/2016 16/06/2016 0
18/06/2016 17/06/2016 0
18/06/2016 18/06/2016 -1
25/06/2016 19/06/2016 -2
25/06/2016 20/06/2016 -1
25/06/2016 21/06/2016 0
25/06/2016 22/06/2016 -1
25/06/2016 23/06/2016 -1
25/06/2016 24/06/2016 -3
25/06/2016 25/06/2016 -1
02/07/2016 26/06/2016 -1
02/07/2016 27/06/2016 -2
02/07/2016 28/06/2016 0
02/07/2016 29/06/2016 1
02/07/2016 30/06/2016 0
02/07/2016 01/07/2016 -1
09/07/2016 03/07/2016 -1
09/07/2016 04/07/2016 -1
09/07/2016 05/07/2016 -2
09/07/2016 06/07/2016 0
09/07/2016 07/07/2016 -2
09/07/2016 08/07/2016 -1
09/07/2016 09/07/2016 -3
t2:
week sold stock
null 94
18/06/2016 1 93
25/06/2016 9 84
02/07/2016 3 81
09/07/2016 9 72
我正在使用 Firebird,我最终的脚本应该在 firebird 或标准 sql 中运行 谢谢
【问题讨论】:
-
这不是 SQL 编写服务,这里的人宁愿帮助你改进你已经尝试过的东西。请包含您已经编写的一些查询以尝试解决此问题,或者至少包含您在研究如何使用
GROUP BY执行 SQLSELECT时阅读的一些链接。 -
如果你用的是Firebird 3,可以看window functions。