MySQL case when使用方法实例解析
一、介绍
MySQL中的case when
语法可以让我们更加灵活地处理数据,可以根据指定的条件返回不同的结果。使用case when
结构通常会为在单个查询中使用IF语句或选择性SUM做法提供更清晰和可读性更高的代码结构。
二、基础语法
以下是MySQL case when
基础语法的示例:
SELECT
column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result4
END
FROM table;
该查询将查询table中的column1和column2列并根据条件语句返回对应的结果。
三、示例说明
1.根据成绩分数段给学生评级并统计级别人数
以下是基于case when
语法的根据成绩分数段给学生评级并统计级别人数的示例:
SELECT
grade,
SUM(CASE
WHEN score BETWEEN 90 AND 100 THEN 1
ELSE 0
END) AS A,
SUM(CASE
WHEN score BETWEEN 80 AND 89 THEN 1
ELSE 0
END) AS B,
SUM(CASE
WHEN score BETWEEN 70 AND 79 THEN 1
ELSE 0
END) AS C,
SUM(CASE
WHEN score BETWEEN 60 AND 69 THEN 1
ELSE 0
END) AS D,
SUM(CASE
WHEN score < 60 THEN 1
ELSE 0
END) AS E
FROM student
GROUP BY grade;
上述查询将计算每个年级中每个等级中的学生数量。根据分数段给学生评级并统计相应级别人数。
2.求购物车中所有商品总价
以下是基于case when
语法的求购物车中所有商品总价的示例:
SELECT
SUM(
CASE
WHEN quantity <= 10 THEN price * quantity
ELSE price * quantity * 0.9
END
) AS total_price
FROM cart;
上述查询将计算购物车中所有商品的总价,并根据商品数量计算折扣。
四、总结
在MySQL中,case when
是一种流行的数据转换技术,可以让我们更好地处理数据。case when
语法可以让我们使用相同的SQL查询语句解决大多数数据转换问题,清晰、可读性高。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL case when使用方法实例解析 - Python技术站