Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да отпечатате всеки елемент, получен от група по изявление

Можете да JOIN вашата заявка обратно срещу основната таблица като подзаявка, за да получите оригиналните редове и имена на файлове:

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

Имайте предвид, че замених вашия LIKE '%_1' с RIGHT(file, 2) = '_1' . Трудно е обаче да се каже кое ще бъде по-бързо без бенчмарк.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SELECT заявката не работи - не може да се намери грешка

  2. Как да открием връщане назад в съхранената процедура на MySQL?

  3. Защо MySQL не използва индекс за по-голямо сравнение?

  4. Защо да не използвате времето за създаване на запис като първичен ключ?

  5. Вътрешният цикъл while не работи