mysql CASE WHEN
时间: 2023-07-06 12:39:17 浏览: 48
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 statement is a conditional statement that evaluates multiple conditions and returns a value based on the first condition that is true.
The basic syntax for the MySQL case when statement is as follows:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE default_result
END
```
Here is an example of how to use the MySQL case when statement:
```
SELECT first_name, last_name,
CASE
WHEN age < 18 THEN 'Minor'
WHEN age BETWEEN 18 AND 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM customers;
```
In this example, we are selecting the first name, last name, and age group of customers from the customers table. We use the MySQL case when statement to evaluate the age of each customer and assign them to an age group based on their age. If the customer is under 18, they are assigned to the 'Minor' group, if they are between 18 and 65, they are assigned to the 'Adult' group, and if they are over 65, they are assigned to the 'Senior' group.
The resulting output would look something like this:
```
+------------+-----------+-----------+
| first_name | last_name | age_group |
+------------+-----------+-----------+
| John | Doe | Adult |
| Jane | Smith | Senior |
| Bob | Johnson | Minor |
| Sarah | Lee | Adult |
+------------+-----------+-----------+
```
Mysql case when
MySQL CASE WHEN语句可以用于在SQL查询中执行条件逻辑。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是对应条件表达式成立时的结果。如果所有条件都不成立,则返回`ELSE`后面的`result`。
例如,下面的查询将根据`price`列的值返回`cheap`、`moderate`或`expensive`:
```
SELECT name, price,
CASE
WHEN price < 50 THEN 'cheap'
WHEN price < 100 THEN 'moderate'
ELSE 'expensive'
END AS price_range
FROM products;
```
这个查询将返回一个包含`name`、`price`和`price_range`列的结果集,其中`price_range`列是根据`price`列的值计算出来的。