MYSQl例发case
时间: 2023-11-02 15:07:26 浏览: 67
MySQL中的CASE语句用于计算条件列表并返回多个可能结果表达式之一。它有两种格式:简单CASE函数和搜索CASE函数。
简单CASE函数将某个表达式与一组简单表达式进行比较以确定结果。它的语法如下:
```
CASE input_expression
WHEN when_expression THEN result_expression
[ELSE else_result_expression]
END
```
其中,input_expression是要比较的表达式,when_expression是每个条件的值,result_expression是与每个条件对应的结果表达式。ELSE子句是可选的,用于指定当没有匹配的条件时的默认结果。
搜索CASE函数计算一组布尔表达式以确定结果。它的语法如下:
```
CASE
WHEN [Boolean_expression] THEN [result1]
...
ELSE [default]
END
```
其中,Boolean_expression是要判断的布尔表达式,result1是满足对应条件时的结果。ELSE子句是可选的,用于指定当没有条件满足时的默认结果。
下面是一些MySQL中使用CASE语句的例子:
1. 使用简单CASE函数根据性别代码查询性别:
```
SELECT CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
```
2. 使用搜索CASE函数根据性别代码查询性别:
```
SELECT CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
```
3. 使用CASE函数进行条件统计:
```
SELECT 班号,
COUNT(CASE WHEN 性别 = '男' THEN '男' END) AS 男生数,
COUNT(CASE WHEN 性别 = '女' THEN '女' END) AS 女生数
FROM 学生表
GROUP BY 班号;
```
阅读全文