
关于PHP MYSQL的一个查询语句
假设在表`count`中,有两个字段,`id`和`count`有如下三条数据id=1count=1,2,3,4,5,6,7,8,9id=2count=12,23,53,6...
假设在表`count`中,有两个字段,`id`和`count`
有如下三条数据
id=1
count=1,2,3,4,5,6,7,8,9
id=2
count=12,23,53,65
id=3
count=2,12,23,45
我现在要搜索出count包含2的所有数据,即id=1和id=3的
应该怎样写..
注意了,`count`这个字段记录的是一个字符串,就像"a,b,c,d,e"这样,是一个以逗号分开一个个数字的字符传,是一个整体,而不是数组什么的,所以不要说用一个count=2哦..
我试过用count LIKE '%$count%'这样的方法,
不过就会把有2的都拿出来,就例如ID=2都拿出来,里面有一个12..
那应该怎样操作..
先调用数据再计算差集可以吗??????? 展开
有如下三条数据
id=1
count=1,2,3,4,5,6,7,8,9
id=2
count=12,23,53,65
id=3
count=2,12,23,45
我现在要搜索出count包含2的所有数据,即id=1和id=3的
应该怎样写..
注意了,`count`这个字段记录的是一个字符串,就像"a,b,c,d,e"这样,是一个以逗号分开一个个数字的字符传,是一个整体,而不是数组什么的,所以不要说用一个count=2哦..
我试过用count LIKE '%$count%'这样的方法,
不过就会把有2的都拿出来,就例如ID=2都拿出来,里面有一个12..
那应该怎样操作..
先调用数据再计算差集可以吗??????? 展开
3个回答
展开全部
估计用正则表达式应该是可以的,mysql支持正则的。
比较变态的是先全取出来在分析,数据量不大问题不大
比较变态的是先全取出来在分析,数据量不大问题不大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * FROM count WHERE count LIKE '2,%' OR count LIKE '%,2' OR count LIKE '%,2,%'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from count where count regexp '(^2|,2)[^0-9]';
利用正则,匹配以'2'开头或者包含',2',并且其后不跟随数字的字符串
利用正则,匹配以'2'开头或者包含',2',并且其后不跟随数字的字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询