语法 :
(case when ifnull(要查找的字段) then 0 else 要查找的字段 end)
示例:
select case rr.pay_method when 0 then '线下还款' when 1 then '主动还款' else '系统代扣' end as 'Paymentmethod',
(case when isnull(count(1)) then 0 else count(1) end ) AS 'Numberofrepayments',
(case when isnull(sum(price)) then 0 else sum(price) end ) as'Amountofrepayment',
(case when isnull(sum(so.actual_price- so.reduce)) then 0 else sum(so.actual_price- so.reduce) end ) as 'Principal',
(case when isnull(sum(so.accrual_price)) then 0 else sum(so.accrual_price) end )as 'Interest'
,
(case when isnull(sum(so.poundage_price)) then 0 else sum(so.poundage_price) end )as 'Service Charge'
,
(case when isnull(sum(so.overdue_price)) then 0 else sum(so.overdue_price) end )as'Overduefee'from repayment_record rr,sub_orders so
where rr.pay_method in (select pay_method from repayment_record ) and rr.`status`=0 and rr.sub_order_id=so.id
and rr.created_at BETWEEN '1567042863' and '1567055527'
GROUP BY rr.pay_method
order by rr.created_at desc