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

Ordenação agrupada complicada em SQL


O que você precisa fazer é criar um conjunto de dados transitórios que contenha car_brand e o preço mais baixo para essa marca (que chamarei brand_price) e, em seguida, JUNTAR esses dados de volta à sua tabela de carros original. Isso fornecerá a informação adicional (brand_price) necessária para classificar os dados:
 SELECT car_id, car_brand, car_model, price FROM cars C1
    JOIN (select car_brand, MIN(price) AS brand_price FROM cars GROUP BY car_brand) C2
      ON C1.car_brand = C2.car_brand
    ORDER BY C2.brand_price, C1.car_brand, C1.price