MySQL: GROUP_CONCAT com uma ORDER BY COUNT?

Isso é possível

Digamos que eu tenha uma lista de endereços, com muitas entradas duplicadas. Preciso filtrar todas as duplicatas, porque alguns endereços têm nomes ligeiramente diferentes, mas o mesmo código postal e número de telefon

Primeiro, faço um GRUPO BY no código postal e no telefon

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

Mas então eu recebo nomes aleatórios. Eu gostaria de obter omelho name, ou seja, o nome com mais entradas por código postal / telefon

Então eu pensei no seguinte. Aqui eu uso a função SUBSTRING_INDEX para obter apenas o primeiro item no group_concat (não há nomes com a string '~~'):

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

mas recebo um 'uso inválido da função de grupo'

Como faço para solicitar o GROUP_CONCAT pelo número de vezes que o nome ocorre?

questionAnswers(1)

yourAnswerToTheQuestion