Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:GROUP_CONCAT con ORDER BY COUNT?

Ho trovato una soluzione da solo, con una sottoquery:

SELECT 
  SUBSTRING_INDEX(
    GROUP_CONCAT(DISTINCT name ORDER BY CountName DESC SEPARATOR '||')
  , '||', 1),
  address,
  postalcode,
  place,
  phone
FROM (

  SELECT name, address, postalcode, place, phone , COUNT(name) AS CountName
  FROM addresses
  GROUP BY name, postalcode, phone
  ORDER BY COUNT(name) DESC

) as a
GROUP BY postalcode, phone

Mi chiedo se può essere fatto senza una sottoquery.