MySQL CASE WHEN END使用

mysql> select * from tmp;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |   10 |    1 |
|   10 |   10 |    2 |
|   10 |  100 |    2 |
+------+------+------+
3 rows in set (0.00 sec)


oracle decode功能实现:
mysql> select (case when c = '2' and a = '10' then b else a end) from tmp;
+----------------------------------------------------+
| (case when c = '2' and a = '10' then b else a end) |
+----------------------------------------------------+
|                                                  1 |
|                                                 10 |
|                                                100 |
+----------------------------------------------------+
3 rows in set (0.00 sec)




分条件运算:
mysql> SELECT
    -> min(CASE WHEN c = '1' THEN A ELSE B END)AS min,
    -> max(CASE WHEN c = '1' THEN A ELSE B END)AS max,
    -> avg(CASE WHEN c = '1' THEN A ELSE B END)AS avg
    -> FROM
    -> tmp;
+------+------+---------+
| min  | max  | avg     |
+------+------+---------+
|    1 |  100 | 37.0000 |
+------+------+---------+
1 row in set (0.00 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]提供了一个MySQL使用CASE WHEN语句的示例查询。CASE WHEN语句用于在满足多种条件的情况下进行查询。它可以类似于Java的if...else语句,也可以用于进行行转列的查询。在这个示例CASE WHEN语句被用作SELECT子句的一部分,作为一个字段的作用。\[2\] CASE WHEN语句的一般形式是: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END,condition1、condition2等是条件表达式,result1、result2等是满足条件时返回的结果。ELSE子句是可选的,用于指定当没有条件满足时返回的默认结果。 在MySQLCASE WHEN语句可以有两种形式。一种是简单的函数形式,如: SELECT CASE score WHEN 'a' THEN '优秀' ELSE '良好' END FROM student; 另一种是表达式形式,如: SELECT CASE WHEN score BETWEEN 90 AND 100 THEN '优秀' ELSE '良好' END FROM student;\[3\] 这些示例展示了如何根据条件返回不同的结果。你可以根据自己的需求使用CASE WHEN语句来进行复杂的查询和条件判断。 #### 引用[.reference_title] - *1* *2* *3* [mysqlcase when then end的含义和用法](https://blog.csdn.net/qq_38308340/article/details/106571610)[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^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值