1、只显示过去xx个月有数据的

 

例:显示过去5个月的数量

select month , zscum, CONVERT ( bj / ( cqwbj + bj ), DECIMAL ( 15, 2 ) ) AS 'bjl' 
from
    (
select
    date_format( CREATEDATE, '%Y-%m' ) AS month,
    SUM( CASE WHEN e.status = '1' THEN 1 ELSE 0 END ) AS zscum,
    SUM( CASE WHEN e.STATUS = '1' THEN 1 ELSE 0 END ) AS bj,
    SUM( CASE WHEN e.STATE != '3702820020' AND ( ( TIMESTAMPDIFF( SECOND, now( ), e.DEALTIME ) < 0 AND e.OPERTIME IS NULL ) 
    OR ( TIMESTAMPDIFF( SECOND, e.OPERTIME, e.DEALTIME ) < 0 AND e.OPERTIME IS NOT NULL ) ) THEN 1 ELSE 0  END 
    ) AS cqwbj 
from
    event_base_info e 
where
    e.status = '1' 
    and e.STATE not in ( '3702820001' ) 
    and DATE_SUB( DATE_ADD( curdate( ), interval - day ( curdate( ) ) + 1 day ), INTERVAL 5 month ) <= date( CREATEDATE ) 
group by
    date_format( CREATEDATE, '%Y-%m' ) 
) ss

2、效果

MySQL 查询过去xx个月的数据,为空的数据不显示

 

相关文章:

  • 2022-01-30
  • 2021-11-26
  • 2021-10-27
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-07-07
  • 2021-05-11
猜你喜欢
  • 2022-12-23
  • 2021-12-04
  • 2021-08-28
  • 2022-12-23
  • 2022-03-04
  • 2021-10-14
  • 2021-04-12
相关资源
相似解决方案