mysql casewhen两个条件 筛选一个字段
时间: 2023-07-13 19:41:06 浏览: 107
您可以使用如下的 SQL 语句来实现:
```
SELECT
字段名,
其他字段1,
其他字段2,
...
FROM 表名
WHERE
CASE
WHEN 条件1 THEN 1
WHEN 条件2 THEN 1
ELSE 0
END = 1
```
具体地,您可以将以上的 SQL 语句中的 `表名` 替换为您需要进行操作的表的名称,将 `字段名` 替换为您需要筛选的字段的名称,将 `其他字段1`、`其他字段2` 等替换为您需要查询的其他字段,将 `条件1` 和 `条件2` 替换为您需要筛选的条件。例如,如果您想要查询表 `mytable` 中 `field1` 字段的值,当 `field2` 字段的值等于 1 或者 `field3` 字段的值等于 2 时,可以使用以下的 SQL 语句:
```
SELECT
field1,
field4,
field5
FROM mytable
WHERE
CASE
WHEN field2 = 1 THEN 1
WHEN field3 = 2 THEN 1
ELSE 0
END = 1
```
请注意,这个查询语句中的 `CASE WHEN` 表达式将会根据条件返回 1 或者 0,最后通过 `WHERE` 子句筛选出符合条件的记录。
相关问题
mysql casewhen 多条件判断
可以使用MySQL的CASE WHEN语句进行多条件判断,示例如下:
```
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
END AS new_column
FROM table_name;
```
其中,condition1和condition2是多个条件,result1和result2是对应条件的结果,default_result是当所有条件都不满足时的默认结果。
例如,以下语句将根据不同的分数段给学生打上不同的等级:
```
SELECT name, score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM student;
```
mysql casewhen
MySQL中的CASE WHEN语句是一种条件判断语句,它可以根据满足的条件执行不同的操作。当满足某个条件时,该条件下的代码块会被执行,并且后续的条件不再考虑。CASE WHEN语句可以用于SELECT语句中的列值替换、WHERE子句中的条件判断和GROUP BY子句中的分组排序。
例如,以下是一个使用CASE WHEN语句的示例:
SELECT CASE WHEN parent_id < 3 THEN '<3'
WHEN parent_id >= 3 AND parent_id < 5 THEN '>=3 && <5'
ELSE '>=5'
END AS parent_id_new,
count(*) AS num_count,
parent_id,
type_id,
type_name
FROM tdb_goods_types
GROUP BY parent_id_new
ORDER BY num_count;
在上述示例中,根据parent_id的不同取值,使用CASE WHEN语句将parent_id分为三个不同的区间,并将其分组为parent_id_new。然后,统计每个分组中的记录数,并按照记录数进行排序。最终的查询结果包含parent_id_new、num_count、parent_id、type_id和type_name这些列的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [mysql中case when的用法](https://blog.csdn.net/u010147215/article/details/124529659)[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_2"}}] [.reference_item style="max-width: 50%"]
- *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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文