Прави странни неща, защото има кръстосано произведение на определени редове. Можете да използвате DISTINCT
ключова дума, за да получите само уникални телефонни номера:
GROUP_CONCAT(DISTINCT phones.phone_number) AS phone_numbers,
Проверете документацията
. Като алтернатива можете да получите телефонните номера в друга заявка, където бихте избрали само телефонните номера с условие като WHERE phones.user_id IN (x, x, x, ...)
(x са идентификатори, върнати от първата заявка).