S'appuyant sur sqlfiddle de Lad2025 et cette Réponse intelligente de Pavel
Schéma
CREATE TABLE tab(
id INTEGER NOT NULL PRIMARY KEY
,sets VARCHAR(6) NOT NULL
);
INSERT INTO tab(id,sets) VALUES (1,'1');
INSERT INTO tab(id,sets) VALUES (2,'1,2');
INSERT INTO tab(id,sets) VALUES (3,'1,2,4');
INSERT INTO tab(id,sets) VALUES (4,'1,2,6');
INSERT INTO tab(id,sets) VALUES (5,'3,8,9');
INSERT INTO tab(id,sets) VALUES (6,'7,8,9');
INSERT INTO tab(id,sets) VALUES (7,'5,8,9');
Requête
-- 1,2,3,6 ... seek this
select * from tab
WHERE CONCAT(",", `sets`, ",") REGEXP ",(1|2|3|6),";
+----+-------+
| id | sets |
+----+-------+
| 1 | 1 |
| 2 | 1,2 |
| 3 | 1,2,4 |
| 4 | 1,2,6 |
| 5 | 3,8,9 |
+----+-------+
Mieux encore, voir les commentaires ci-dessus sous la question de la normalisation des données. Vous pourriez obtenir une utilisation optimale des index si vous le faites.