[参考](https://blog.csdn.net/helloxiaozhe/article/details/78124138
)
MySQL case when例子介绍
1、 使用带有简单 CASE 函数的 SELECT 语句
在 SELECT 语句中,简单 CASE 函数仅检查是否相等,而不进行其它比较
SELECT
CASE parent_id
WHEN 0 THEN
'00'
WHEN 1 THEN
'11'
ELSE
'OTHERS'
END AS parent_id_new ,
parent_id ,
type_id ,
type_name
FROM
tdb_goods_types
20170928154146204.png
2、使用带有简单 CASE 函数和 CASE 搜索函数的SELECT 语句
在 SELECT 语句中,CASE 搜索函数允许根据比较值在结果集内对值进行替换。
SELECT
CASE
WHEN parent_id < 3 THEN
'<3'
WHEN parent_id >= 3
AND parent_id < 5 THEN
'>=3 && <5'
ELSE
'>=5'
END AS parent_id_new ,
parent_id ,
type_id ,
type_name
FROM
tdb_goods_types
20170928154104454.png
3、CASE 可能是 SQL 中被误用最多的关键字之一。
虽然,可能以前用过这个关键字来创建字段,但是它还具有更多用法。
例如,可以在 WHERE 子句中使用 CASE。或者在 GROUP BY 子句中使用 CASE
使用CASE WHEN进行字符串替换处理,稍加深入,还可以得到以前认为不可能得到的分组排序结果集。
SELECT
CASE
WHEN parent_id < 3 THEN
'<3'
WHEN parent_id >= 3
AND parent_id < 5 THEN
'>=3 && <5'
ELSE
'>=5'
END AS parent_id_new ,
count(*) AS num_count ,
parent_id ,
type_id ,
type_name
FROM
tdb_goods_types
GROUP BY
parent_id_new
ORDER BY
num_count
20170928154124615.png