MySQL中使用case when 語句實現多條件查詢的方法

今天在一個應用中使用到了一個比較特殊的數據查詢要求。需要的朋友可以參考下。

舉例如下:

數據表為DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5

要求是查詢DemoTable中,condition1,condition2,condition3,condition4,condition5五個字段中符合任意兩個或兩個以上的條件的內容。

可使用case when來實現這個條件,需要嵌套子查詢語句

sql語句代碼示例如下:
代碼如下:
SELECT * FROM DemoTable
WHERE ((SELECT CASE 1 WHEN condition1滿足條件 THEN 1 ELSE 0 END FROM DemoTable )
+(SELECT CASE 1 WHEN condition2滿足條件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition3滿足條件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition4滿足條件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition5滿足條件 THEN 1 ELSE 0 END FROM DemoTable))>=2

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享