首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2012-03-09 
这样的条件,如何用sql实现查询数据库结构:CREATE TABLE IF NOT EXISTS `phpa_ssq` (`num1` varchar(2) COL

这样的条件,如何用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;

对应记录:
num1num2num3num4num5num6
100120150170200500
56100120170220280

我想统计: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 awhereinstr(concat(num1,',',num2,',',num3,',',num4,',',num5,',',num6),'100')>0andinstr(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_ssqwhere (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
)

热点排行