MySQL中使用case when 語句實現多條件查詢的方法
更新時間:2010年12月17日 13:49:58 作者:
今天在一個應用中使用到了一個比較特殊的數據查詢要求。需要的朋友可以參考下。
舉例如下:
數據表為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
數據表為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
相關文章
mysql 5.7.17 安裝配置方法圖文教程(CentOS7)
這篇文章主要為大家詳細介紹了CentOS7下mysql 5.7.17 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-12-12一文搞懂Mysql中的共享鎖、排他鎖、悲觀鎖、樂觀鎖及使用場景
剛開始學習MySQL中鎖的時候,網上一查出來一堆,什么表鎖、行鎖、讀鎖、寫鎖、悲觀鎖、樂觀鎖等等等,直接整個人就懵了,下面這篇文章主要給大家介紹了關于Mysql中共享鎖、排他鎖、悲觀鎖、樂觀鎖及使用場景的相關資料,需要的朋友可以參考下2022-07-07