sql >> Databáze >  >> RDS >> Mysql

mysql:seskupte podle ID, získejte nejvyšší prioritu pro každé ID

I když toto může být „přijatá“ odpověď, výkon Markovo řešení je za normálních okolností mnohonásobně lepší a pro danou otázku stejně platný, takže rozhodně jděte na jeho řešení ve výrobě!

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

Za předpokladu, že 'id' je sloupec bez hodnoty null.

[editovat]:špatně, potřebuji druhé připojení, nemohu to udělat pouze s jedním.



  1. Jak získám seznam všech tabulek v databázi pomocí TSQL?

  2. Funkce AVG() v MariaDB

  3. Vytvoření webové aplikace od nuly pomocí Python Flask a MySQL:Část 3

  4. nelze zobrazit symbol ochranné známky v mysql to html