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

首页 > 数据库 > Mysql 更新日期: 2015-08-03
今天在一个应用中使用到了一个比较特殊的数据查询要求。需要的朋友可以参考下。
举例如下:
数据表为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中优化sql语句查询常用的30种方法
    本篇文章是对MySQL中优化sql语句查询常用的30种方法进行了详细的分析介绍,需要的朋友参考下1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进 ...
  • php通过数组实现多条件查询实现方法(字符串分割)
    这篇文章主要介绍了php通过数组实现多条件查询实现方法字符串分割,需要的朋友可以参考下str_replace就是php中常用的字符串替换函数.explode就是php中常用的字符串分割为数组的函数.
  • MySQL中replaceinto语句的用法详解
    这篇文章主要介绍了MySQL中replace into语句的用法详解,本文讲解了replace into语句的多种写法,replace into语句的作用等内容,需要的朋友可以参考下在向表中插入数据的时候,经常遇到这样的情况: 1.首先判断数据是否存在:2.如果不存在,则插入:3.如果存在,则更新. 在 SQL Server 中可以这样写: 代码如下:if ...
  • MySQL中createtable语句的基本语法是
    MySQL中create table语句的基本语法是:  Create [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]  [table_options] [select_statement]  TEMPORARY:该关键字表示用create table新建的表为临时表, ...
  • MySQL中select语句使用order按行排序
    本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序.再来回顾一下SQL语句中的select语句的语法:Select 语句的基本语法:Select <列的集合> from <表名> whe ...
猜你喜欢