mysql CASE WHEN
时间: 2023-07-06 15:39:17 浏览: 108
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 resultN
END;
```
其中,`condition1`、`condition2` 等是条件表达式,`result1`、`result2` 等是对应条件表达式的执行结果。`ELSE` 子句是可选的,如果没有满足任何条件,就会返回 `resultN`。
例如,以下 SQL 语句使用 CASE WHEN 实现根据订单金额计算折扣:
```
SELECT
order_id,
order_date,
order_amount,
CASE
WHEN order_amount >= 1000 THEN order_amount * 0.9
WHEN order_amount >= 500 THEN order_amount * 0.95
ELSE order_amount
END AS discount_amount
FROM
orders;
```
上述 SQL 语句根据订单金额计算折扣,如果订单金额超过 1000 元,则打 9 折;如果订单金额超过 500 元,则打 95 折;否则不打折。
MySQL case when
回答: 在MySQL中,CASE WHEN是一种条件表达式,用于在查询语句中进行条件判断和返回不同的结果。它的语法如下:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
\[1\]
在SELECT查询中,可以使用CASE WHEN来创建新的字段,根据条件返回不同的值。例如,可以使用CASE WHEN来替换字符串或进行分组排序。在WHERE子句中也可以使用CASE WHEN进行条件判断。在GROUP BY子句中使用CASE WHEN可以得到以前认为不可能得到的分组排序结果集。\[2\]\[3\]
#### 引用[.reference_title]
- *1* [Mysql中的CASE WHEN](https://blog.csdn.net/qq_44011569/article/details/130884794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [MySQL 的CASE WHEN 语句使用说明](https://blog.csdn.net/lkx021699/article/details/120543003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文