【问题标题】:Mysql if else with multiple conditionsMysql if else 有多个条件
【发布时间】:2020-05-31 00:03:15
【问题描述】:

你们中的任何人都可以帮我为下表(如数据)构建一个选择查询吗?
我有一个类似的表,我需要从以下条件中选择查询
获取所有记录
1.删​​除为'0'
2. 如果删除为“1”,则年份应为 > 2019
3. AND 如果删除为 '1' 且年份 = 2019,则月份应 > 2

------------------------------------
id , name , delete , year , month
------------------------------------
1 , apple ,     0 , 0000 , 0 
2 , orange ,    1 , 2019 , 3 
3 , grapes ,    1 , 2018 , 4 
4 , Banana ,    1 , 2019 , 1 
5 , Pears ,     0 , 0000 , 0 
6 , Pineapple , 1 , 2020 , 3 
7 , watermelon ,1 , 2019 , 2 

结果应该是

1 , apple ,     0 , 0000 , 0 
2 , orange ,    1 , 2019 , 3 
5 , Pears ,     0 , 0000 , 0 
6 , Pineapple , 1 , 2020 , 3 

【问题讨论】:

    标签: mysql if-statement conditional-statements


    【解决方案1】:

    使用

    SELECT 
      * 
    FROM 
      Table1
      Where
         `delete` = 0
         OR (`delete` = 1 AND `year` > 2019)
         OR (`delete` = 1 AND `year` = 2019 AND `month` > 2)
    

    结果http://sqlfiddle.com/#!9/c7ae8f/1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 2015-04-21
      • 2018-11-07
      • 2016-08-05
      • 1970-01-01
      • 2014-12-04
      相关资源
      最近更新 更多