• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

这样的条件,怎么用sql实现查询

mysql 搞代码 7年前 (2018-06-01) 189次浏览 已收录 0个评论

这样的条件,如何用sql实现查询
数据库结构:

CREATE TABLE IF NOT EXISTS `phpa_ssq` (
  `num1` varchar(2) COLLATE utf8_bin NOT NULL DEFAULT ”,
  `num2` varchar(2) COLLATE utf8_bin NOT NULL DEFAULT ”,
  `num3` varchar(2) COLLATE utf8_bin NOT NULL DEFAULT ”,
  `num4` varchar(2) COLLATE utf8_bin NOT NULL DEFAULT ”,
  `num5` varchar(2) COLLATE utf8_bin NOT NULL DEFAULT ”,
  `num6` varchar(2) COLLATE utf8_bin NOT NULL DEFAULT ”,
  PRIMARY KEY (`number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

对应记录:
num1 num2 num3 num4 num5 num6
100 120 150 170 200 500
56 100 120 170 220 280

我想统计:100,500这两个数字在所有记录中出现的记录。如何写sql呢?

如第一条记录就符合,num1为100,num6为500,而第二条记录则不符合。

——解决方案——————–

SQL code

 select * from phpa_ssq where find_in_set('100',concat_ws(',',num1,num2,num3,num4,num5,num6) ) and  find_in_set('500',concat_ws(',',num1,num2,num3,num4,num5,num6) ); 
------解决方案--------------------
SQL code
 select * from phpa_ssq a where instr(concat(num1,',',num2,',',num3,',',num4,',',num5,',',num6), '100')>0 and instr(concat(num1,',',num2,',',num3,',',num4,',',num5,',',num6) ,'500')>0; 
------解决方案--------------------
SQL code
 mysql> select * from phpa_ssq where find_in_set(100,concat_ws(',',num1,num2,num3,num4,num5,num6) ) and 
  ->  find_in_set(500,concat_ws(',',num1,num2,num3,num4,num5,num6) );
+------+------+------+------+------+------+
| num1 | num2 | num3 | num4 | num5 | num6 |
+------+------+------+------+------+------+
|  100 |  120 |  150 |  170 |  200 |  500 |
+------+------+------+------+------+------+
1 row in set (0.00 sec)

------解决方案--------------------

SQL code

 select count(*) from phpa_ssq where (num1='500' or num2='500' or num3='500' or num4='500' or num5='500' or num6='500' ) and (num1='100' or num2='100' or num3='100' or num4='100' or num5='100' or num6='100' ) 
------解决方案--------------------
select * from phpa_ssq
where (0+num1=500
or 0+num2=500
or 0+num3=500
or 0+num4=500
or 0+num5=500
or 0+num6=500
)
and (
0+num1=100
or 0+num2=100
or 0+num3=100
or 0+num4=100
or 0+num5=100
or 0+num6=100
)

欢迎大家阅读《这样的条件,怎么用sql实现查询》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:这样的条件,怎么用sql实现查询

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址