sql >> Databáze >  >> RDS >> Mysql

Jak vytisknout každou položku, která je výsledkem skupiny po příkazu

Můžete se JOIN váš dotaz zpět proti hlavní tabulce jako poddotaz, abyste získali původní řádky a názvy souborů:

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

Všimněte si, že jsem nahradil váš LIKE '%_1' s RIGHT(file, 2) = '_1' . Těžko říct, který bude rychlejší bez benchmarku.




  1. Dva různí poskytovatelé ve stejném konfiguračním souboru

  2. Pomalé LEFT JOIN na CTE s časovými intervaly

  3. Jak exportovat data pole clob ve vývojáři Oracle SQL

  4. Jak migrovat PostgreSQL databázi na SQLServer?