我正在执行迁移任务,将Java应用程序从Oracle数据存储迁移到MySql 5。
你可以想象一些查询需要重写。一切都很顺利,直到我来到Reporting模块。希望你们能给我一些提示。
不久,我有一张桌子:(说表名“Foo”)
+-------------+-------------+
| | |
| d (datetime)| v (number) |
+-------------+-------------+
| 2000-01-01 | 3 |
| 2000-01-11 | 2 |
| 2002-07-01 | 1 |
+-------------+-------------+我到目前为止所做的:
当用户给出startdate,enddate作为参数时,我按日期和月份生成汇总报告:
例如startDate 2000-01-01,endDate: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 |
+-------------+-------------+但是要求是,如果日期不在表格中,无论如何都要列出日/月,并且sum = 0。喜欢:
+-------------+-------------+
| Month | Sum |
+-------------+-------------+
| 2000-01 | 5 |
| 2000-02 | 0 |
| 2000-03 | 0 |
| 2000-04 | 0 |
| 2000-05 | 0 |
| ... | ... |
| 2002-07 | 1 |
| ... | 0 |
+-------------+-------------+这是通过Oracle实现的,但我坚持使用Mysql。任何人可以提供一些提示,更好的示例代码,如何用mySql实现它?
谢谢。