Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Bedingte MySQL-Reihenfolge durch zwei (gleich wichtige) Spalten

Sie müssen das neueste Datum für jede Kategorie in einer Unterabfrage finden, diese Unterabfrage mit Ihrer Tabelle verbinden und nach 3 Feldern sortieren:

SELECT p.* FROM products p
JOIN
( SELECT category_id, MAX(date) as category_date FROM products
  GROUP BY category_id ) pg
ON p.category_id = pg.category_id
ORDER BY pg.category_date DESC, p.category_id, p.date DESC