mysql中case使用
Posted kacha886
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中case使用相关的知识,希望对你有一定的参考价值。
前言:遇到这样一个需求,有一门成绩,成绩中只记录了学生的分数,现在需要统计学生的分数等级,100-90分为优秀,90-60分为及格,60-0分为不及格。这个需求就可以用CASE语句来表达。
case语句分为简单case语句和可搜索case语句。
1.简单case的语法为
CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands END
这种适合固定的值,比如性别,1男,2女这种
例子:将下图中sex换成汉字的性别,1男,2女。
SELECT *, ( CASE sex WHEN 1 THEN \'男\' WHEN 2 THEN \'女\' END ) \'性别\' FROM `user`
结果如下图
2.可搜索case语句,这种适应表达式与一组不同的值进行匹配。
语法为
CASE WHEN condition_1 THEN commands WHEN condition_2 THEN commands ... ELSE commands END
例子就是最开始提到的
SELECT *, ( CASE WHEN score>=90 THEN \'优秀\' WHEN score>=60 THEN \'及格\' ELSE \'不及格\' END ) \'等级\' FROM math ORDER BY score DESC
结果如下
以上是关于mysql中case使用的主要内容,如果未能解决你的问题,请参考以下文章
在这个 spark 代码片段中 ordering.by 是啥意思?