Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ordem MySQL condicional por duas colunas (igualmente importantes)


Você precisa encontrar a data mais recente para cada categoria em uma subconsulta, juntar esta subconsulta à sua tabela e ordenar por 3 campos:
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