Я бы сказал, что естественным способом сделать это является использование GROUP_CONCAT, и что было бы невозможно сделать это без GROUP BY.
Похоже, что GROUP BY является правильным способом сделать то, что нужно.
MySQL может выполнить это объединение, в комплекте с GROUP BY, без временной таблицы или сортировки файлов, если это то, что касается вас относительно GROUP BY. Вам необходимо убедиться, что существует индекс, соответствующий столбцам GROUP BY.