MySQL中使用case when 語(yǔ)句實(shí)現(xiàn)多條件查詢的方法
更新時(shí)間:2010年12月17日 13:49:58 作者:
今天在一個(gè)應(yīng)用中使用到了一個(gè)比較特殊的數(shù)據(jù)查詢要求。需要的朋友可以參考下。
舉例如下:
數(shù)據(jù)表為DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5
要求是查詢DemoTable中,condition1,condition2,condition3,condition4,condition5五個(gè)字段中符合任意兩個(gè)或兩個(gè)以上的條件的內(nèi)容。
可使用case when來(lái)實(shí)現(xiàn)這個(gè)條件,需要嵌套子查詢語(yǔ)句
sql語(yǔ)句代碼示例如下:
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
數(shù)據(jù)表為DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5
要求是查詢DemoTable中,condition1,condition2,condition3,condition4,condition5五個(gè)字段中符合任意兩個(gè)或兩個(gè)以上的條件的內(nèi)容。
可使用case when來(lái)實(shí)現(xiàn)這個(gè)條件,需要嵌套子查詢語(yǔ)句
sql語(yǔ)句代碼示例如下:
復(fù)制代碼 代碼如下:
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
相關(guān)文章
MySQL使用集合函數(shù)進(jìn)行查詢操作實(shí)例詳解
這篇文章主要介紹了MySQL使用集合函數(shù)進(jìn)行查詢操作,結(jié)合實(shí)例形式詳細(xì)分析了MySQL使用集合函數(shù)進(jìn)行的運(yùn)算與查詢操作使用技巧,需要的朋友可以參考下2018-06-06MySQL數(shù)據(jù)庫(kù)遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù)
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫(kù)遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03mysql 5.7.17 安裝配置方法圖文教程(CentOS7)
這篇文章主要為大家詳細(xì)介紹了CentOS7下mysql 5.7.17 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-12-12一文搞懂Mysql中的共享鎖、排他鎖、悲觀鎖、樂(lè)觀鎖及使用場(chǎng)景
剛開(kāi)始學(xué)習(xí)MySQL中鎖的時(shí)候,網(wǎng)上一查出來(lái)一堆,什么表鎖、行鎖、讀鎖、寫(xiě)鎖、悲觀鎖、樂(lè)觀鎖等等等,直接整個(gè)人就懵了,下面這篇文章主要給大家介紹了關(guān)于Mysql中共享鎖、排他鎖、悲觀鎖、樂(lè)觀鎖及使用場(chǎng)景的相關(guān)資料,需要的朋友可以參考下2022-07-07MySql超長(zhǎng)自動(dòng)截?cái)鄬?shí)例詳解
這篇文章主要介紹了MySql超長(zhǎng)自動(dòng)截?cái)鄬?shí)例詳解的相關(guān)資料,這里通過(guò)實(shí)例來(lái)說(shuō)明如何實(shí)現(xiàn)自動(dòng)截?cái)嗟墓δ埽枰呐笥芽梢詤⒖枷?/div> 2017-07-07MySQL頁(yè)面訪問(wèn)統(tǒng)計(jì)及排名情況
這篇文章主要介紹了MySQL頁(yè)面訪問(wèn)統(tǒng)計(jì)及排名情況,涉及到mysql頁(yè)面訪問(wèn)統(tǒng)計(jì),mysql統(tǒng)計(jì)排名相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-01-01隨機(jī)生成八位優(yōu)惠碼并保存至Mysql數(shù)據(jù)庫(kù)
這篇文章主要介紹了隨機(jī)生成八位優(yōu)惠碼并保存至Mysql數(shù)據(jù)庫(kù)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02最新評(píng)論