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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM