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

mysql:kelompokkan berdasarkan ID, dapatkan prioritas tertinggi per setiap ID

Meskipun ini mungkin jawaban yang 'diterima', kinerja Solusi Mark dalam keadaan normal berkali-kali lebih baik, dan sama-sama valid untuk pertanyaan itu, jadi tentu saja, cari solusinya dalam produksi!

SELECT a.id, a.vehicle_id, a.filename, a.priority
FROM pics a
LEFT JOIN pics b               -- JOIN for priority
ON b.vehicle_id = a.vehicle_id 
AND b.priority > a.priority
LEFT JOIN pics c               -- JOIN for priority ties
ON c.vehicle_id = a.vehicle_id 
AND c.priority = a.priority 
AND c.id < a.id
WHERE b.id IS NULL AND c.id IS NULL

Dengan asumsi 'id' adalah kolom yang tidak dapat dibatalkan.

[edit]:buruk, perlu bergabung kedua, tidak bisa melakukannya hanya dengan satu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql menggunakan sintaks yang benar untuk klausa over

  2. ambil gambar base64 dari database

  3. gunakan variabel untuk nama tabel di mysql sproc

  4. Pisahkan string dan loop melalui nilai-nilai dalam Prosedur MySql

  5. Bagaimana cara menggunakan string PHP dalam kueri LIKE mySQL?