Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :GROUP_CONCAT avec un ORDER BY COUNT ?

J'ai trouvé une solution moi-même, avec une sous-requête :

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

Je me demande si cela peut être fait sans sous-requête.