Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wydrukować każdą pozycję wynikającą z grupowania po zestawieniu?

Możesz JOIN Twoje zapytanie z powrotem w głównej tabeli jako podzapytanie, aby uzyskać oryginalne wiersze i nazwy plików:

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

Zauważ, że zastąpiłem Twój LIKE '%_1' z RIGHT(file, 2) = '_1' . Trudno jednak powiedzieć, który będzie szybszy bez testu porównawczego.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak naprawić błąd klucza obcego podczas uruchamiania migracji

  2. PHP, MySQL - czy potrafisz odróżnić wiersze dopasowane od wierszy, których dotyczy problem?

  3. python mysqldb usuń wiersz

  4. MySQL powiedział:Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:NIE)

  5. Warunkowa liczba/suma w Wybierz