mysql如何直接查询一个数组中存在某个值 5
例如:表1idnametext1aaa1,2,3,11,12,132bbb2,3,4,12,13,143ccc3,4,5,13,14,154ddd4,5,6,14,15,...
例如:表1
id name text
1 aaa 1,2,3,11,12,13
2 bbb 2,3,4,12,13,14
3 ccc 3,4,5,13,14,15
4 ddd 4,5,6,14,15,16
我现在想通过text来查找,
如果查找值为1,出现第一条记录,因为只有第一条记录的text字段包含1;
如果查找值为2,出现1,2两条记录,因为只有1,2两条记录包含2,
如果查找值为3,出现1,2,3条记录,因为只有1,2,3三条记录包含3,
如果查找值为4,出现2,3,4条记录;因为只有2,3,4三条记录包含4,
不能用like,因为查找text like 1的话,实际上还有11,12,都含有1,。 展开
id name text
1 aaa 1,2,3,11,12,13
2 bbb 2,3,4,12,13,14
3 ccc 3,4,5,13,14,15
4 ddd 4,5,6,14,15,16
我现在想通过text来查找,
如果查找值为1,出现第一条记录,因为只有第一条记录的text字段包含1;
如果查找值为2,出现1,2两条记录,因为只有1,2两条记录包含2,
如果查找值为3,出现1,2,3条记录,因为只有1,2,3三条记录包含3,
如果查找值为4,出现2,3,4条记录;因为只有2,3,4三条记录包含4,
不能用like,因为查找text like 1的话,实际上还有11,12,都含有1,。 展开
3个回答
展开全部
SELECT * FROM `表1`
WHERE FIND_IN_SET( '3', text)
WHERE FIND_IN_SET( '3', text)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表1 where (text like 'NO,%' or text like '%,NO,%');
把NO改成你要的数字试试
把NO改成你要的数字试试
追问
这个不行吧,这个也会把 like 11 的显示出来
追答
,NO,
NO的左右各有1个,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表1 where (text like 'NO,%' or text like '%,NO,%'); 把NO改成你要的数字试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询