GROUP_CONCAT
を使用できます :
SELECT GROUP_CONCAT(`id`), `domain` FROM `gsort_linkdata` GROUP BY `domain`
(group_concat_max_len に注意してください 。)
ただし、MySQLからPHPに配列を渡す方法がないため、結果の文字列をPHPまたはJSで分割する必要があります。したがって、現在の方法の方が優れていると思います。あなたのメソッドは安全で、実際にはPHPのワンライナーです。それ以外のもの(GROUP_CONCATを含む)はもっと複雑です。