mysql查詢最近12天的數據,沒有數據自動補0


select a.date_time as dateTime,ifnull(b.order_num,'0.00') as orderNum, ifnull(b.payment_amount,'0.00') as paymentAmount
from ( <include refid="all_date"/> ) a 
left join ( select date(create_date) as date_time, order_num, payment_amount from base_company_daily_data where company_id = #{companyId} ) b on a.date_time = b.date_time order by dateTime asc

某一天沒有數據,結果中沒有顯示那天的數據,解決

<sql id="all_date">
        SELECT date_sub(curdate(), interval 0 day) as date_time
        union all SELECT date_sub(curdate(), interval 1 day) as date_time
        union all SELECT date_sub(curdate(), interval 2 day) as date_time
        union all SELECT date_sub(curdate(), interval 3 day) as date_time
        union all SELECT date_sub(curdate(), interval 4 day) as date_time
        union all SELECT date_sub(curdate(), interval 5 day) as date_time
        union all SELECT date_sub(curdate(), interval 6 day) as date_time
        union all SELECT date_sub(curdate(), interval 7 day) as date_time
        union all SELECT date_sub(curdate(), interval 8 day) as date_time
        union all SELECT date_sub(curdate(), interval 9 day) as date_time
        union all SELECT date_sub(curdate(), interval 10 day) as date_time
        union all SELECT date_sub(curdate(), interval 11 day) as date_time
</sql>

 

參考https://blog.csdn.net/ouyang111222/article/details/77638826


免責聲明!

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



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