こういうことでしょうかねぇ?
create table tableA(id int,columns varchar(100));
insert into tableA values(1,'1,4,7,3'),(2,'5,3,22'),(3,'1,2,3'),(4,'2,3,1'),(5,'1'),(6,'4,4,4');
※id=2は22はあっても2は含まれない、id=3や4はid=1の順番違い
id=5のように単一データや、id=6のような同じデータを複数もつ場合も想定
「1」を対象とする
SELECT id FROM tableA WHERE columns REGEXP '(^|,)1(,|$)'
id=1,3,4,5がヒットします
「2」を対象とする
SELECT id FROM tableA WHERE columns REGEXP '(^|,)2(,|$)';
id=3,4がヒットします(22はヒットしません)
「3」か「4」を対象とする
SELECT id FROM tableA WHERE columns REGEXP '(^|,)(3|4)(,|$)';
・・・とここまで書いて言うのもなんですが
カンマ区切りでデータを持つのはSQL的には最悪です。
きちんとデータ分けて処理することをお勧めします。
お礼
ありがとうございます!おかげ解決できました。