case when用法
时间: 2023-11-07 12:58:18 浏览: 149
sql 中 case when 语法使用方法
CASE WHEN是SQL中的一种条件语句,用于在查询结果中根据条件进行分组或分类。它的基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE else_result
END
```
其中,condition1、condition2等是若干个条件表达式,result1、result2等是它们对应的结果值,else_result是当所有条件都不成立时的默认值。
CASE WHEN可以嵌套使用,例如:
```
CASE WHEN condition1 THEN
CASE WHEN condition2 THEN result2
ELSE result3
END
ELSE result1
END
```
这个语句中,如果condition1成立,再根据condition2的结果返回result2或result3;如果condition1不成立,直接返回result1。
CASE WHEN常用于对查询结果进行分类汇总,例如按照某个字段的值进行分组:
```
SELECT
CASE WHEN age < 18 THEN '未成年'
WHEN age BETWEEN 18 AND 60 THEN '成年人'
ELSE '老年人'
END AS age_group,
COUNT(*) AS count
FROM users
GROUP BY age_group;
```
这个查询会将users表中的用户按照年龄分为三组,统计每组的用户数。其中,CASE WHEN语句根据用户年龄进行分类汇总,生成一个名为age_group的新字段,用于分组。
阅读全文