Get normalized representation of SET datatype
SELECT DISTINCT `int`, SUBSTRING_INDEX(SUBSTRING_INDEX(`set_2`, ',', `mask`), ',', -1) `set`
FROM `test_set`, 
      -- generate masks based on SET values list count
     (SELECT 1 `mask` UNION 
      SELECT 2 UNION 
      SELECT 3) `mask`
WHERE `set_2` &amp; 1;


fiddle

If server version allows build mask in recursive CTE (dynamic count may be used)