-1

私はテーブルに結果を持っていMySQLます。user_id で 26 ではなく 6 だけである場合にのみ結果を取得する必要があります。

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
4

5 に答える 5

2

試す::

SELECT  *
FROM    tableName
WHERE   user_id like '6,%' or user_id like '%,6' or user_id like '%,6,%'
于 2013-01-16T09:59:49.453 に答える
1
SELECT  *
FROM    tableName
WHERE   FIND_IN_SET(6, users_id) > 0 AND
        FIND_IN_SET(26, users_id) = 0

ソース

于 2013-01-16T09:58:30.887 に答える
0

クエリは、結果にすべての場所で 6 が含まれているかどうかを確認するためです。

明らかに、26 には 6 が含まれます...

あなたはできる(他の方法が存在する)

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

sqlFiddle

于 2013-01-16T09:59:04.573 に答える
0

多分試してください:

SELECT * FROM WHERE users_id IN ('6');

6にちょうど一致するはずです。

http://www.w3schools.com/sql/sql_in.asp

于 2013-01-16T10:16:31.807 に答える