case when 多条件
时间: 2023-07-09 17:35:52 浏览: 88
在 SQL 中,我们可以使用 CASE WHEN 语句来实现多条件判断。语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2 等为判断条件,result1、result2 等为满足条件时的返回结果,default_result 为默认返回结果,即所有条件都不满足时的返回值。
例如,假设有一个学生成绩表,我们要将成绩分为优、良、及格和不及格四个等级,可以使用以下 SQL 语句:
```
SELECT
name,
score,
CASE
WHEN score >= 90 THEN '优'
WHEN score >= 80 THEN '良'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM
student_scores;
```
上述语句中,当成绩大于等于 90 时返回 '优',大于等于 80 时返回 '良',大于等于 60 时返回 '及格',否则返回 '不及格'。
相关问题
case when多条件
在 SQL 中,可以使用 CASE WHEN 语句来实现多条件判断。其基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,`condition1`、`condition2` 等表示条件,可以是任何表达式或逻辑运算符;`result1`、`result2` 等表示对应的结果,可以是任何值或表达式;`default_result` 表示如果没有条件满足时返回的默认结果,可以省略。
例如,下面的 SQL 语句使用 CASE WHEN 实现了按分数段统计学生人数的功能:
```
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade,
COUNT(*) AS count
FROM students
GROUP BY grade;
```
该语句将学生按照分数段分为 A、B、C、D、F 五个等级,然后统计每个等级的学生人数。注意,这里使用了 AS 子句给结果列取了别名 `grade` 和 `count`。
mysql case when 多条件
MySQL中的CASE WHEN语句可以支持多个条件,可以使用嵌套的方式实现。下面是一个例子,假设有一个student表,需要根据不同的成绩范围进行分类:
```
SELECT
name,
grade,
CASE
WHEN grade >= 90 THEN '优秀'
WHEN grade >= 80 THEN '良好'
WHEN grade >= 70 THEN '及格'
ELSE '不及格'
END AS level
FROM
student;
```
在上面的例子中,使用了多个WHEN语句,每个WHEN语句后面都有一个条件和对应的结果。如果所有条件都不满足,则执行ELSE后面的结果。最终结果会在SELECT语句中以别名的形式显示出来。
阅读全文
相关推荐














