Můžete použít GROUP_CONCAT
:
SELECT GROUP_CONCAT(`id`), `domain` FROM `gsort_linkdata` GROUP BY `domain`
(Mějte na paměti group_concat_max_len .)
Ale protože neexistuje způsob, jak předat pole z MySQL do PHP, musíte výsledný řetězec rozdělit v PHP nebo JS, takže si myslím, že vaše současná metoda je lepší. Vaše metoda je bezpečná a ve skutečnosti je v PHP pouze jednořádková, cokoliv jiného (včetně GROUP_CONCAT) je složitější.