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

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、效果

猜你喜欢

转载自www.cnblogs.com/w-yu-chen/p/11015102.html