Esta es una señal de un mal diseño de base de datos que primero debe buscar en Normalización de base de datos y si puede cambiar la estructura, primero normalícela usando una tabla de unión. A partir de ahora, puede usar FIND_IN_SET() para encontrar su identificación de registro correspondiente en su columna de identificaciones separadas por comas
SELECT * FROM table
WHERE FIND_IN_SET('id1',column) > 0
AND FIND_IN_SET('id2',column) > 0
AND FIND_IN_SET('id3',column) > 0
Cambie el operador según su deseo. He mostrado un ejemplo con el operador AND, tenga en cuenta que debe usar FIND_IN_SET
tantas veces como el número de ID que tiene en su matriz que necesita comparar con su columna