Lutar dig mot Lad2025:s sqlfiddle och detta smarta svar från Pavel
Schema
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');
Fråga
-- 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 |
+----+-------+
Ännu bättre, se kommentarerna ovan under frågan för datanormalisering. Du kan få optimal användning av index om du gör det.