1. 程式人生 > >Mysql case when then操作

Mysql case when then操作

表資料:

按天分型別統計資金總量:

SELECT dt,SUM(hold_amt_day), SUM(CASE WHEN `type`=1 THEN hold_amt_day END) AS a1,  SUM(CASE WHEN `type`=2 THEN hold_amt_day END) AS a2,  SUM(CASE WHEN `type`=3 THEN hold_amt_day END) AS a3 FROM fin_user_hold  WHERE dt BETWEEN DATE_SUB(CURDATE(),INTERVAL 7 DAY) AND DATE_SUB(CURDATE(),INTERVAL 1 DAY) GROUP BY dt;

SELECT dt,SUM(hold_amt_day), SUM(IF(`type`=1,hold_amt_day,0)) a1, SUM(IF(`type`=2,hold_amt_day,0)) a2, SUM(IF(`type`=3,hold_amt_day,0)) a3 FROM fin_user_hold WHERE dt BETWEEN DATE_SUB(CURDATE(),INTERVAL 7 DAY) AND DATE_SUB(CURDATE(),INTERVAL 1 DAY) GROUP BY dt