两个case when 使用
时间: 2023-09-28 08:07:21 浏览: 86
CASE WHEN语句是SQL中的一种条件语句,可以用于对某一列或表达式进行条件判断,并根据不同的条件返回不同的结果。以下是两个使用CASE WHEN的示例:
示例1:根据不同的销售额计算不同的折扣
假设有一个销售表sales,包含以下字段:销售员ID、销售额。现在需要根据不同的销售额计算不同的折扣,计算方法如下:
- 如果销售额小于1000元,则不打折;
- 如果销售额在1000元至2000元之间,则打9折;
- 如果销售额在2000元至5000元之间,则打8折;
- 如果销售额大于5000元,则打7折。
可以使用CASE WHEN语句实现如下:
```
SELECT salesman_id, sales_amount,
CASE
WHEN sales_amount < 1000 THEN sales_amount
WHEN sales_amount >= 1000 AND sales_amount < 2000 THEN sales_amount * 0.9
WHEN sales_amount >= 2000 AND sales_amount < 5000 THEN sales_amount * 0.8
ELSE sales_amount * 0.7
END AS discount_amount
FROM sales;
```
示例2:根据不同的条件对数据进行分类
假设有一个学生成绩表score,包含以下字段:学生ID、科目、成绩。现在需要根据不同的成绩将学生进行分类,分类方法如下:
- 如果成绩小于60分,则为不及格;
- 如果成绩在60分至70分之间,则为及格;
- 如果成绩在70分至80分之间,则为中等;
- 如果成绩在80分至90分之间,则为良好;
- 如果成绩大于90分,则为优秀。
可以使用CASE WHEN语句实现如下:
```
SELECT student_id, subject, score,
CASE
WHEN score < 60 THEN '不及格'
WHEN score >= 60 AND score < 70 THEN '及格'
WHEN score >= 70 AND score < 80 THEN '中等'
WHEN score >= 80 AND score < 90 THEN '良好'
ELSE '优秀'
END AS score_level
FROM score;
```
阅读全文