2013-01-16 1 views
-1

나는 MySQL 테이블에 결과를가집니다. user_id에 6이 아닌 26 만 결과를 가져와야합니다.mysql 쿼리가 정확한 문자열 또는 숫자와 일치합니다

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 

난 결과

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 

결과를 MySQL의 쿼리를 사용하고 올바르지 않습니다. 난 단지 필요

id user_id 

15 6,5 
22 28,6 
24 29,6 
+0

같은 쿼리의'% 6 '당신이 perfomance 문제가 발생할 수 있습니다. –

답변

2

시도 :: 어쩌면

SELECT * 
FROM tableName 
WHERE user_id like '6,%' or user_id like '%,6' or user_id like '%,6,%' 
0

은 결과에 모든 위치에서 6이 포함되어 있는지 확인하기 때문에

물론, 26

당신은 (다른 방법이 존재)

where (users_id like '6,%' or users_id like '%,6') 

sqlFiddle

+0

고맙습니다. 해결되었습니다. –

0

아니면 단지 수 FIND_IN_SET에 대해 나에 대해 알고있는 'OR'없이 6

:

 
id users_id 

15 |6|5| 
16 |1|5| 
18 |2|6| 

및 % '처럼 user_id를 선택 | 6 | %를 당신이 테이블에 많은 행이있는 경우 '

관련 문제