select*fromtablewhere(name1like'%key1%'orname2like'%key2%'orname3like'%key3%')同理,你还可以任意再次组合,用or连接就行如再上name1likekey1orname1likekey2orname1likekey3name2likekey1orname2likekey2orname2likekey3等等。
- 文化问答
- 答案列表
mysql多条件查询:mysql多where条件[朗读]
如果表结构都相同selectcount(*)form(select*from(select*fromdabanunionselect*ffromzhongbanunionselect*fromxiaoban)whereto_days(regtime)=to_days(now()))。
标准的方法是使用union联合或者case,我认为case最好,联合的结果被混淆了,我写一个case的例子你试试看:selectsum(casewhen`id1`=1and`check`='b'then1else0end)cnt1,sum(casewhen`id2`=0and`check`='b'then1else0end)cnt2,sum(casewhen`id3`=1and`check`='c'then1else0end)cnt3,from`table`;语句输出的结果是这样的,非常直观吧:cnt1cnt2cnt3235。
selectjg_1,jg_2,jg_3from表名whereid=1unionallselectjg_1,0,0from表名whereid=2第二个sql语句中2个0是字符常量,楼主可以随便填,是为了保持和第一句sql语句中有相同的列数。
select*fromtablewhereuid='1'and(status='1'orstatus='3')select*fromtablewhere(uid='1'andstatus='1')orstatus='3'我还木看懂楼主的意思,希望这两条sql对你有所帮助。