服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL中使用case when 语句实现多条件查询的方法

MySQL中使用case when 语句实现多条件查询的方法

2019-11-12 16:50mysql教程网 Mysql

今天在一个应用中使用到了一个比较特殊的数据查询要求。需要的朋友可以参考下。

举例如下: 

数据表为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 

延伸 · 阅读

精彩推荐