sql >> Database teknologi >  >> RDS >> Mysql

mysql:grupper efter ID, få højeste prioritet for hvert ID

Selvom dette kan være det 'accepterede' svar, får ydelsen af ​​Marks løsning er under normale omstændigheder mange gange bedre, og lige så gyldigt for spørgsmålet, så gå i hvert fald efter hans løsning i produktionen!

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

Forudsat at 'id' er en kolonne, der ikke kan nulstilles.

[edit]:min dårlige, har brug for anden join, kan ikke gøre det med kun én.



  1. Ikke flere data at læse fra socket-fejl

  2. Hvordan henter man data fra en SQL Server-database i C#?

  3. Xampp MySQL starter ikke - Forsøger at starte MySQL-tjenesten...

  4. Konverter sql-resultat til listepython