sql >> Database >  >> RDS >> Mysql

Hoe u elk item kunt afdrukken dat het resultaat is van groep per verklaring

U kunt JOIN uw query terug tegen de hoofdtabel als een subquery, om de originele rijen en bestandsnamen te krijgen:

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

Merk op dat ik je LIKE '%_1' . heb vervangen met RIGHT(file, 2) = '_1' . Het is echter moeilijk te zeggen welke sneller zal zijn zonder een benchmark.




  1. Hoe selecteer ik de langste 'string' uit een tabel bij het groeperen?

  2. Verbindingscrash in mysql C++

  3. Hoe voeg je een PHP-constante in een SQL-query in?

  4. Voeg meerdere rijen in met één query MySQL