H5W3
当前位置:H5W3 > 其他技术问题 > 正文

请问,达梦数据库中,传进来1-6月的月份,但是数据库中只有1-3月的数据,怎么把剩下的月分也查出来,补个0

前端会给一个月份的段,比如1-4月,2-5月等,但是我数据库里面有的月份没有,没法查出来在Java中给个值,我想问一下在数据库怎么操作,可以把剩下的月份补出来

回答:

我也遇到过这个问题,
我的解决办法是新建一个日历表,关联查询。

回答:

# 我只想撸码
select tmp.months as `month`, IFNUll(d.num, 0) as `count` 
from (
  select
      case when length(mon) = 1 then
          concat(left(current_date, 4), '-0', mon)
      else
          concat(left(current_date, 4), '-', mon)
      end as months
  from
      (
          select
              @m := @m + 1 mon
          from
              t_customer,
        (SELECT @m := 0) as m
          limit 12
      ) as num
) as tmp 
left join (
  select
     date_format(create_date, '%Y-%m') as ym,
     count(*) as `num`
  from
      t_customer
  where
      date_format(create_date, '%Y-%m') between '2021-01' and '2021-05'
  group by
      ym
)as d
on tmp.months = d.ym
where tmp.months between '2021-01' and '2021-05'

本文地址:H5W3 » 请问,达梦数据库中,传进来1-6月的月份,但是数据库中只有1-3月的数据,怎么把剩下的月分也查出来,补个0

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址