MySQL: GROUP_CONCAT con un ORDER BY COUNT?

Es posible

Digamos que tengo una lista de direcciones, con muchas entradas duplicadas. Necesito filtrar todos los duplicados, porque algunas direcciones tienen nombres ligeramente diferentes pero el mismo código postal y número de teléfono.

Primero hago un GROUP BY en código postal y teléfono.

SELECT name, address, postalcode, place, phone
FROM addresses
GROUP BY postalcode, phone

Pero luego obtengo nombres al azar. Me gustaría obtener lamejo nombre, es decir, el nombre con más entradas por código postal / teléfono.

Así que pensé en lo siguiente. Aquí uso la función SUBSTRING_INDEX para obtener solo el primer elemento en group_concat (no hay nombres con la cadena '~~'):

SELECT SUBSTRING_INDEX(
         GROUP_CONCAT(DISTINCT name ORDER BY COUNT(name) DESC SEPARATOR '~~')
       , '~~', 1),
       address,
       postalcode,
       place,
       phone
FROM addresses
GROUP BY postalcode, telephone

pero obtengo un 'uso no válido de la función de grupo'.

¿Cómo hago para que GROUP_CONCAT ordene por la cantidad de veces que aparece el nombre?

Respuestas a la pregunta(1)

Su respuesta a la pregunta