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

数据库评论453字数 187阅读模式

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

数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5很文博客-https://www.zhenjiekeji.com/38530.html

要求是查询DemoTable中,condition1,condition2,condition3,condition4,condition5五个字段中符合任意两个或两个以上的条件的内容。很文博客-https://www.zhenjiekeji.com/38530.html

可使用case when来实现这个条件,需要嵌套子查询语句很文博客-https://www.zhenjiekeji.com/38530.html

sql语句代码示例如下:很文博客-https://www.zhenjiekeji.com/38530.html

  1. SELECT * FROM DemoTable
  2. WHERE ((SELECT CASE 1 WHEN condition1满足条件 THEN 1 ELSE 0 END FROM DemoTable )
  3. +(SELECT CASE 1 WHEN condition2满足条件 THEN 1 ELSE 0 END FROM DemoTable)
  4. +(SELECT CASE 1 WHEN condition3满足条件 THEN 1 ELSE 0 END FROM DemoTable)
  5. +(SELECT CASE 1 WHEN condition4满足条件 THEN 1 ELSE 0 END FROM DemoTable)
  6. +(SELECT CASE 1 WHEN condition5满足条件 THEN 1 ELSE 0 END FROM DemoTable))>=2
很文博客-https://www.zhenjiekeji.com/38530.html很文博客-https://www.zhenjiekeji.com/38530.html
weinxin
我的微信
微信号已复制
扫一扫更精彩
大家的支持是我更新的动力!!!
匿名

发表评论

匿名网友