这个在mysql中是怎么写的?

zhu5152 2017-11-20 11:32:48
之前oracle用的比较多 对mysql不是很熟悉,现在碰到个问题不知道怎么写sql.
需求:
有A,B,C三张表 里面记录了产品的编号和销售日期
现在需要统计出一段时间内 各个产品在各个月份的销售数量。大概如图

在mysql中 这种是要怎么实现呢?



因为没有给定的时间表 只能自己写表。在oracle中,获取月份后 关联下查询表 应该就可以了吧
SELECT TO_CHAR(

add_months(to_date('2017-03', 'yyyy-mm'), ROWNUM - 1),

'YYYY-MM'

) as yearMonth

FROM DUAL

CONNECT BY ROWNUM <= (

select months_between(to_date('2017-07', 'yyyy-mm'),

to_date('2017-03', 'yyyy-mm')) from dual

)
但是在mysql中没有CONNECT BY这个函数 也没有类似的 那要怎么做呢?
...全文
107 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2017-11-20
  • 打赏
  • 举报
回复
取年月用 date_format,生成序列要自己写,可以参考下面这个
select date_format(now()- interval @i month, '%Y-%m') as yearmonth, @i:=@i+1 as id from information_schema.columns a, (select @i:=0)b limit 10;

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧