- 作为学习笔记存在
一、CASE表达式
-- 有两种表达式:
-- 表达式1
CASE gender
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '未知性别'
END AS 性别
-- 表达式2
CASE
WHEN gender = '1' THEN '男'
WHEN gender = '2' THEN '女'
ELSE '未知性别'
END AS 性别
在CASE表达式里,可以使用BETEEN、LIKE和<,> ,IN等便利的谓词组合。
1.1 可以配合IN使用
-- 示例
CASE
WHEN city_name IN ('商丘','郑州') THEN '河南'
WHEN city_name IN ('潍坊','淄博') THEN '山东'
ELSE '其它'
END
1.2 将已有编号方式转换为新的方式并统计
SELECT
CASE
WHEN city_name IN ('郑州市','开封市','开封市','新乡市','周口市','商丘市') THEN '河南省'
WHEN city_name IN ('南京市','无锡市','苏州市','常州市','南通市','扬州市') THEN '江苏省'
ELSE '其他省份'
END AS provinces ,
sum(population) AS '总人口'
FROM poptbl p
GROUP BY provinces;
1.3 将数值按照适当的级别进行分类统计
-- 按照人口数量等级查询市区个数。
SELECT
CASE
WHEN population < 100 THEN '低于