语法:
case 字段名 when 值1 then 结果1 else 结果2 end
case when 字段名=值 then 结果1 else 结果2 end
示例:
(此表只做测试,无任何实际意义)
id | type | money | name |
---|---|---|---|
1 | 日用品 | 50 | 牙刷 |
2 | 交通 | 2 | 共享单车 |
3 | 日用品 | 80 | 碗 |
4 | 化妆品 | 200 | 口红 |
5 | 化妆品 | 30 | 耳钉 |
SQL语句:
计算各类消费总和
SELECT
SUM( CASE type WHEN '日用品' THEN money ELSE 0 END ) '日用品消费',
SUM ( CASE type WHEN '交通' THEN money ELSE 0 END ) '交通消费',
SUM ( CASE type WHEN '化妆品' THEN money ELSE 0 END ) '化妆品消费'
FROM
tb_consume
运行结果: