我正在执行迁移任务,将 Java 应用程序从 Oracle Datastore 迁移到 MySql 5。
你可以想象一些查询需要重写。一切顺利,直到我来到报告模块。希望大家能给我一些提示。
很快我就有了一张桌子:(说桌子名称“Foo”)
+-------------+-------------+
| | |
| d (datetime)| v (number) |
+-------------+-------------+
| 2000-01-01 | 3 |
| 2000-01-11 | 2 |
| 2002-07-01 | 1 |
+-------------+-------------+
到目前为止我做了什么:
当用户给出 startdate、enddate 作为参数时,我按天和按月生成总和报告:
例如开始日期 2000-01-01,结束日期:2003-01-01
+-------------+-------------+
| day | Sum |
+-------------+-------------+
| 2000-01-01 | 3 |
| 2000-01-11 | 2 |
| 2002-07-01 | 1 |
+-------------+-------------+
+-------------+-------------+
| Month | Sum |
+-------------+-------------+
| 2000-01 | 5 |
| 2002-07 | 1 |
+-------------+-------------+
但要求是,如果日期不在表中,无论如何都要列出日/月,总和 = 0。喜欢:
+-------------+-------------+
| Month | Sum |
+-------------+-------------+
| 2000-01 | 5 |
| 2000-02 | 0 |
| 2000-03 | 0 |
| 2000-04 | 0 |
| 2000-05 | 0 |
| ... | ... |
| 2002-07 | 1 |
| ... | 0 |
+-------------+-------------+
这是通过 Oracle 实现的,但我被 Mysql 卡住了。anyboy 可以给出一些提示,更好地使用示例代码,如何用 mySql 实现它?
谢谢你。