Mysql case when
时间: 2023-07-07 22:42:57 浏览: 95
MySQL CASE WHEN语句是一种流程控制语句,它允许您根据条件对结果进行分类。它的语法如下:
```
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
FROM table_name;
```
其中,column_name是要分类的列名,condition和result是条件和结果的列表,default_result是当没有条件匹配时的默认结果。根据情况,您可以设置任意数量的条件和结果。
例如,以下是一个简单的例子,根据成绩将学生分为三个等级:
```
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM student;
```
在这个例子中,当成绩大于等于90时,学生的等级为A,当成绩大于等于80时,学生的等级为B,以此类推。如果成绩不符合任何条件,则学生的等级为D。
相关问题
mysql CASE WHEN
MySQL中的`CASE WHEN`语句是一种条件语句,用于在SQL查询中根据条件对结果进行分组或排序。它的语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是对应的结果表达式。如果`condition1`成立,则返回`result1`,如果`condition2`成立,则返回`result2`,否则返回`result3`。`ELSE`关键字是可选的,如果没有提供`ELSE`子句,则默认返回`NULL`。
例如,假设我们有一个`students`表,其中包含学生的姓名和分数两个字段,我们可以使用`CASE WHEN`语句来将学生按照分数分为三组:
```
SELECT name, score,
CASE WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
FROM students;
```
这条查询语句将返回一个结果集,其中包含每个学生的姓名、分数和对应的等级(A、B或C)。如果一个学生的分数大于等于90分,则被分为A级;如果分数大于等于80分但小于90分,则被分为B级;否则被分为C级。
mysql case when
MySQL中的CASE WHEN语句是一种条件表达式,用于根据满足特定条件时执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件,result1、result2等是在满足条件时返回的结果。通过添加多个WHEN子句,可以实现多个条件的判断。
下面是一个示例,根据不同的成绩范围返回不同的评级:
```
SELECT
score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
ELSE '不及格'
END AS grade
FROM
students;
```
这个例子中,根据score字段的值,返回对应的评级。根据具体需求,你可以根据不同的条件和结果自由组合CASE WHEN语句。
阅读全文