1. 程式人生 > 其它 >Mysql 查詢統計不同型別的訂單繳費金額和筆數

Mysql 查詢統計不同型別的訂單繳費金額和筆數

技術標籤:MySqlmysql

select
 COALESCE(sum(case when order_state='1' then paid_amount else 0 end),0) errSumMoney,
 COALESCE(sum(case when order_state='2' then paid_amount else 0 end),0) sucSumMoney,
 count(case when order_state='2' then id else 0 end) sucCountNum
from order_info
where TO_DAYS(create_date) = TO_DAYS('2020-12-13')

在Mysql做統計時候經常會用SUM求和的函式,但是這個函式就是在求和的時候在沒有符合where條件的時候就會返回null值。這個null如果在程式碼裡面不處理就會報空指標異常問題。但是按照一般業務需求,沒有求和的值時候結果應該是0。那麼就需要一個給它賦值一個0就好了。Mysql提供了函式coalesce。coalesce()解釋:返回引數中的第一個非空表示式(從左向右依次類推)。

COALESCE("欄位", 0) 給欄位一個預設值