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

MySQL memilih catatan maksimum dalam grup dengan

Banyak info di http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/

Ini selalu menjadi masalah yang mengganggu di MySQL. Ada beberapa cara untuk mengatasinya, seperti menggabungkan beberapa bidang bersama-sama (dimulai dengan external_id), lalu memilih MAX() dari itu, lalu memecahnya kembali.

Saya sarankan Anda menggunakan tabel turunan. Tabel pertama (t1) diturunkan dari kueri sederhana di mana Anda mengidentifikasi MAX(external_id) , lalu Anda bergabung dari sana untuk mendapatkan data lainnya.

INI HANYA JIKA external_id ITU UNIK

SELECT 
   t1.group_id, some_table.id, some_table.mypath
FROM 
   (
      SELECT group_id, MAX(external_id) AS external_id
      FROM some_table
      GROUP BY group_id
   ) as t1
INNER JOIN 
   sometable ON t1.external_id = sometable.external_id
WHERE ...



  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 Menghindari Memasukkan Duplikat Catatan di MySQL

  2. Dapatkan ID yang terakhir dihapus di MySQL

  3. MySQL bergabung dengan grup tabel berdasarkan jumlah masalah

  4. Batas MySQL KIRI JOIN Subquery setelah bergabung

  5. Ambil data dari tabel persimpangan di Yii2