mysql 返回出连续日期的sql_SQL(MySQL)生成连续日期/月报告

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

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值