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

Sådan udskrives alle elementer, der stammer fra gruppe for erklæring

Du kan JOIN din forespørgsel tilbage mod hovedtabellen som en underforespørgsel, for at få de originale rækker og filnavne:

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

Bemærk, at jeg har erstattet din LIKE '%_1' med RIGHT(file, 2) = '_1' . Det er dog svært at sige, hvilken der vil være hurtigere uden et benchmark.




  1. Aktiv registrering i kodetænder

  2. 'PDOException' Syntaksfejl eller adgangsovertrædelse:1064 Du har en fejl i din SQL-syntaks; kontrollere

  3. SQL Server 2008 IIF-sætning ser ikke ud til at være aktiveret

  4. Postgis SQL til nærmeste naboer