我的结果是MySQL
表。
我需要得到的结果只有在user_id中只有6而不是26。
id users_id
15 6,5
16 1,5
18 2,8
19 1,26
20 6,26
21 5,10
22 28,6
23 21,9
24 29,6
我正在使用MySQL查询
SELECT * FROM WHERE users_id LIKE '%6%'
结果
id user_id
15 6,5
19 1,26 why is this here..
20 6,26
22 28,6
24 29,6
结果不正确。 我只需要:
id user_id
15 6,5
22 28,6
24 29,6
答案 0 :(得分:2)
尝试::
SELECT *
FROM tableName
WHERE user_id like '6,%' or user_id like '%,6' or user_id like '%,6,%'
答案 1 :(得分:1)
SELECT *
FROM tableName
WHERE FIND_IN_SET(6, users_id) > 0 AND
FIND_IN_SET(26, users_id) = 0
SOURCE
答案 2 :(得分:0)
因为您的查询检查结果是否在每个地方都包含6。
显然,26包含6 ......
你可以(存在其他方式)
where (users_id like '6,%' or users_id like '%,6')
答案 3 :(得分:0)
答案 4 :(得分:0)
或者你不知道FIND_IN_SET或关于'OR'你可以:
id users_id 15 |6|5| 16 |1|5| 18 |2|6|
并选择user_id,例如'%| 6 |%'