मैं सोचता रहता हूं कि क्या ऐसा कुछ काम करेगा:
select distinct col1, col2
from (select col1, col2,
@pv:=(case when find_in_set(col3, @pv) then @pv else concat(@pv, ',', col3)
end) as 'col3'
from table1 join
(select @pv:='1') tmp
on find_in_set(col1, @pv) > 0
) t
ऐसा कुछ छोटे डेटा सेट के लिए काम करना चाहिए। हालांकि, सभी आईडी को एक स्ट्रिंग में डालने का विचार एक स्ट्रिंग की क्षमता तक सीमित है।