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