田间价值 - 29,21,30,28,32,35,49,50,137
SELECT *
FROM `smartspace_pickups`
WHERE `cat_id` LIKE '%37%'
LIMIT 0 , 30
我有一个字段,其中id以逗号分隔,现在我尝试使用上面的查询获取数据,但它给了我ID为137和371的值。我只想要字符串中id为37的值。
答案 0 :(得分:2)
SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37',`cat_id`)
LIMIT 0 , 30
答案 1 :(得分:2)
您可以使用FIND_IN_SET(str,strlist)
SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37', `cat_id`) > 0
LIMIT 0 , 30
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set
答案 2 :(得分:0)
像这样制作你的ids字段(在开头和结尾添加逗号)
,29,21,30,28,32,35,49,50,137,
并将您的查询更改为
LIKE '%,37,%'