sndbox 发表于 2012-05-07 17:37

条件子集怎么写?

从users表里统计80后和90后的数量,gmsfhm是身份证号码,如下写报错:缺少右括号,本意是把符合条件的80后和90后号码合成一个like查询条件子集,应该怎么写?

select count(gmsfhm) from users where gmsfhm like ('______198_________' or'______199_________')


非要这样才可以?似乎效率差些。
select count(gmsfhm) from users where gmsfhm like '______198_________' or gmsfhm like '______199_________'

sndbox 发表于 2012-05-31 15:04

居然一直没有人回复!

doni 发表于 2012-05-31 16:54

前种根本就是不符合语法的。
like本身就谈不上效率

sndbox 发表于 2012-05-31 17:03

doni 发表于 2012-05-31 16:54 static/image/common/back.gif
前种根本就是不符合语法的。
like本身就谈不上效率

难道不能构建一个符合身份证号码条件的子集了?不用like的话,怎么才有效率呢?

doni 发表于 2012-05-31 17:37

按你目前的需求,并没有太好的方法,除非增加字段

sndbox 发表于 2012-05-31 17:44

doni 发表于 2012-05-31 17:37 static/image/common/back.gif
按你目前的需求,并没有太好的方法,除非增加字段
如果where条件子句里某个字段符合某个子集,不能构造这个子集,只能一个个写出来,用or隔开?好麻烦啊!

doni 发表于 2012-05-31 17:59

回复 6# sndbox


    语法如此
页: [1]
查看完整版本: 条件子集怎么写?