1

我正在执行迁移任务,将 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 实现它?

谢谢你。

4

0 回答 0