0

字段值 - 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 的值。

4

3 回答 3

2
SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37',`cat_id`)
LIMIT 0 , 30 
于 2013-04-16T11:39:11.790 回答
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

于 2013-04-16T11:39:38.863 回答
0

使您的 ids 字段像这样(在开头和结尾添加逗号)

,29,21,30,28,32,35,49,50,137,

并将您的查询更改为

LIKE '%,37,%' 
于 2013-04-16T11:45:34.757 回答