mysql中case 和if的用法

图片说明
这是我想要写的,但是case when里面是不是只能写一个条件?我想要两个条件去判断,返回一列。用if怎么写呢?

不是,你这样写就是可以的。

下面为您举例说明了三种mysql中case when语句的使用方法,供您参考学习,如果您对mysql中case when语句使用方面感兴趣的话,不妨一看。
1。
select name, case when birthday<'1981' then 'old' when birthday>'1988' then 'yong' ......
答案就在这里:mysql 中case when 的用法
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

可以用when and,最好用括号括起来,然后就是检查你的判断条件是否正确

 SELECT table1.id, table1.name,
    CASE 
        WHEN (table1.event = 'r' AND table1.name='Jones') THEN 'very high'
        WHEN table1.event = 't' THEN 'very low'
        ELSE (SELECT table2.risk 
              FROM table2 
              WHERE table2.value <= table1.value 
              ORDER BY table2.value DESC LIMIT 1)
    END AS risk
FROM table1
ORDER BY FIELD( table1.event, 'r', 'f', 't' ), table1.value DESC

建议还是不要这样写SQL,太长,别人不太容易看懂,可以转换成多个SQL,一起提交啊