Você pode usar
GROUP_CONCAT
:SELECT GROUP_CONCAT(`id`), `domain` FROM `gsort_linkdata` GROUP BY `domain`
(Esteja ciente de group_concat_max_len .)
Mas como não há como passar um array do MySQL para o PHP, você precisa dividir a string resultante em PHP ou JS, então acho que seu método atual é o melhor. Seu método é seguro e realmente apenas uma linha em PHP, qualquer outra coisa (incluindo GROUP_CONCAT) é mais complicada.