Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hasil pesanan dari grup MySQL dengan

  • Menggunakan GABUNG

dan kueri dengan GROUP BY untuk mendapatkan id maksimum untuk setiap kategori (saya kira Anda menginginkan baris dengan id maksimum untuk setiap kategori, bukan?)

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
  • Menggunakan DI

dan kueri untuk mendapatkan id maksimum untuk setiap kategori

SELECT id
     , title
     , created
     , updated
     , category
     , content
FROM entries
WHERE id IN
    ( SELECT max(id)
      FROM entries
      GROUP BY category
    )
  • Menggunakan APAPUN

dan subkueri yang berkorelasi

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
    )
  • Menggunakan NOT EXISTS

dan subkueri yang berkorelasi

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. Cara Instal MySQL 8.0 di CentOS 8 / RHEL 8

  2. simpan TEXT/BLOB di tabel yang sama atau tidak?

  3. C# Konektor MySQL

  4. Bagaimana membandingkan Timestamp di mana klausa

  5. Rel pilih catatan acak