場景
比如說一個訂單對應多條數據,當狀態(status)=1的時候, 數量(num)=25,當狀態(status)=2的時候, 數量(num)=45,現在想用一條sql記錄下不同狀態對應的數量為多少,如下圖所示:
期待結果->
sql語句示例
SELECT trades_id, MAX(CASE WHEN apply_status=1 THEN pay_change ELSE 0 END) 'num_status1', MAX(CASE WHEN apply_status=2 THEN pay_change ELSE 0 END) 'num_status2' FROM b_balance_detail WHERE site_id=100190 AND apply_status!=4 AND trades_id = 1001901531475622312 //上述sql是查詢了一個訂單的情況,當多個時應當加個group by進行分組查詢 如下: SELECT trades_id, MAX(CASE WHEN apply_status=1 THEN pay_change ELSE 0 END) 'num_status1', MAX(CASE WHEN apply_status=2 THEN pay_change ELSE 0 END) 'num_status2' FROM b_balance_detail group by trades_id