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

Comment imprimer chaque élément résultant d'une instruction group by

Vous pouvez JOIN votre requête sur la table principale en tant que sous-requête, pour obtenir les lignes et les noms de fichiers d'origine :

SELECT 
  main.number, 
  main.file
FROM 
  table AS main
  /* Joined against your query as a derived table */
  INNER JOIN (
    SELECT number, COUNT(*) AS sum domains 
    FROM table
    WHERE RIGHT(file, 2) = '_1' 
    GROUP BY number 
    HAVING sum domains > 1
    /* Matching `number` against the main table, and limiting to rows with _1 */
  ) as subq ON main.number = subq.number AND RIGHT(main.file, 2) = '_1'

http://sqlfiddle.com/#!2/cb05b/6

Notez que j'ai remplacé votre LIKE '%_1' avec RIGHT(file, 2) = '_1' . Difficile de dire lequel sera le plus rapide sans référence cependant.