在MySQL中计算每月已开启项目的库存数
计算每月月末未关闭项目库存数的SQL查询问题
我在编写该查询语句时遇到了困难,提前感谢您的帮助!现有一组带有开启日期(OpenDate)和关闭日期(CloseDate)的项目,我需要计算每个月份的已开启项目库存数,即月末前尚未关闭的所有项目数量。
预期结果
| 月份 | 库存数 |
|---|---|
| 2012年9月 | 0 |
| 2012年10月 | 4 |
| 2012年11月 | 4 |
| 2012年12月 | 2 |
| 2013年1月 | 3 |
| 2013年2月 | 0 |
| 2013年3月 | 0 |
使用环境
- MySQL 5.7.44-log
- 已禁用ONLY_FULL_GROUP_BY
测试数据
CREATE TABLE TestDate ( Objectid int, OpenDate date NULL, CloseDate date NULL ); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (1, '2013-02-18 00:00:00', '2013-02-19 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (2, '2013-01-22 00:00:00', '2013-01-28 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (3, '2012-10-17 00:00:00', '2013-02-01 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (4, '2012-10-28 00:00:00', '2012-12-14 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (5, '2013-01-16 00:00:00', '2013-02-02 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (6, '2013-01-20 00:00:00', '2013-01-25 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (7, '2012-11-25 00:00:00', '2012-12-04 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (8, '2012-10-20 00:00:00', '2013-02-04 00:00:00'); INSERT INTO TestDate (Objectid, OpenDate, CloseDate) VALUES (9, '2012-10-31 00:00:00', '2012-11-15 00:00:00');
我尝试过Stack Overflow上的多种方法,但均未得到预期结果。
内容的提问来源于stack exchange,提问作者user3099631
相关产品推荐
相关产品推荐

