my sql case when
时间: 2024-07-29 19:01:39 浏览: 54
MySQL的CASE WHEN语句是一种条件表达式,用于基于某个条件返回不同的结果。它通常与ELSE关键字一起使用,形成IF...THEN结构。基本语法如下:
```sql
SELECT
CASE
WHEN condition THEN result_if_true
ELSE result_if_false
END
FROM table_name;
```
在这里,`condition`是你想要测试的表达式,如果该条件为真(非零、非空或者不是NULL),`result_if_true`就会被选择并显示;如果条件为假,则会显示`result_if_false`。你可以设置多个WHEN部分来检查多个条件。
例如,假设你想计算某列的分数等级,可以这样写:
```sql
SELECT
id,
CASE
WHEN score > 90 THEN 'A'
WHEN score BETWEEN 80 AND 90 THEN 'B'
WHEN score BETWEEN 70 AND 80 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
```
在这个例子中,根据score的不同范围,返回对应的字母等级。
相关问题
sql 中的case when else
在SQL中,CASE WHEN ELSE是一种条件语句,用于根据条件的不同选择不同的结果。它的基本语法如下:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
在这个语法中,condition1、condition2等是条件表达式,result1、result2等是对应条件的结果。当满足某个条件时,就会返回对应的结果。如果所有条件都不满足,则返回ELSE后面指定的结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [SQL中case when then else 语句的使用](https://blog.csdn.net/calivnBao/article/details/107782881)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [sql语句中case when then else函数用法](https://blog.csdn.net/My_SweetXue/article/details/109809833)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
sql使用case when后再去重
如果你需要在 `SELECT` 语句中使用 `CASE WHEN` 语句,并且想要在结果中去重,可以将 `CASE WHEN` 语句作为一个子查询,然后使用 `DISTINCT` 关键字对结果进行去重。例如:
```
SELECT DISTINCT col1, col2, (CASE WHEN col3 > 0 THEN 'Positive' ELSE 'Non-positive' END) AS col3_category
FROM my_table;
```
在这个例子中,我们使用 `CASE WHEN` 语句将 `col3` 划分为两个类别,并将结果命名为 `col3_category`。然后我们使用 `DISTINCT` 关键字对结果进行去重,以确保返回的每一行都是唯一的。
请注意,如果你的查询中包含多个列,那么你需要在 `DISTINCT` 关键字后面列出所有这些列,以确保去重操作应用到正确的列上。