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

Поръчайте резултат от Mysql група от

  • Използване на JOIN

и заявка с GROUP BY за да получите максимален идентификатор за всяка категория (предполагам, че искате реда с максимален идентификатор за всяка категория, нали?)

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
JOIN
    ( SELECT max(id) AS maxid
      FROM entries
      GROUP BY category
    ) AS cat
ON e.id = cat.maxid
  • Използване на IN

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

SELECT id
     , title
     , created
     , updated
     , category
     , content
FROM entries
WHERE id IN
    ( SELECT max(id)
      FROM entries
      GROUP BY category
    )
  • Използване на ВСЯКАКВА

и корелирана подзаявка

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
WHERE e.id >= ANY
    ( SELECT cat.id
      FROM entries cat
      WHERE e.category = cat.category
    )
  • Използване на NOT EXISTS

и корелирана подзаявка

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
WHERE NOT EXISTS
    ( SELECT 1
      FROM entries cat
      WHERE cat.id > e.id
        AND e.category = cat.category
    )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изпратете данни към приложението за Android

  2. Как да получите най-новата коментирана публикация над нова изпратена публикация в Wordpress?

  3. задайте нова стойност за ft_min_word_len FULLTEXT в mysql

  4. Как да промените външния ключ на MySQL таблица с помощта на командния ред

  5. Еквивалент на Laravel-5 „Харесвам“ (Eloquent)