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

Ordinamento raggruppato complicato in SQL

Quello che devi fare è creare un set di dati transitorio che contenga car_brand e il prezzo più basso per quel marchio (che chiamerò brand_price), quindi UNISCI quei dati alla tabella delle auto originali. Questo ti darà le informazioni aggiuntive (prezzo_marca) di cui hai bisogno per ordinare i dati:

 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