case函数还用来统计数据的,参考资料:https://www.cnblogs.com/qlqwjy/p/7476533.html

这里我只是整理下工作中使用的到案例:

查询语句:

SELECT t.log_id AS 交易ID
      ,CASE
          WHEN t.trans_type = '2' THEN 
           '银行卡'
          WHEN t.trans_type = '3' THEN
           '支付宝'
          ELSE
           ''
       END AS 提现方式
      ,t.log_time AS 时间
      ,CASE
          WHEN t.trans_type = 1 THEN
           t.refrence_id
          ELSE
           NULL
       END 订单ID
      ,CASE
          WHEN t.trans_type IN (2, 3, 4, 5) THEN
           t.refrence_id
          ELSE
           NULL
       END 提现单ID

      ,t.amount AS 金额
      ,CASE
          WHEN t.trans_type = 1 THEN
           '预收益转入'
          WHEN t.trans_type IN (2, 3) THEN
           '提现'
          WHEN t.trans_type = 4 THEN
           '提现失败(审核失败)'
          WHEN t.trans_type = 5 THEN
           '提现失败(提现失败)'
       END AS 交易类型 /*交易类型:1.预收益转入(+)2.提现(银行卡) -3.提现(支付宝) -4.提现失败(审核失败) +5.提现失败(提现失败) +*/
      ,t.banlance AS 可用收益余额
 FROM settle_v1.supplier_account_log t   WHERE  1 = 1  ORDER BY t.log_time DESC