sql >> Base de Datos >  >> RDS >> Mysql

Ordenación agrupada complicada en SQL

Lo que debe hacer es crear un conjunto de datos transitorios que contenga car_brand y el precio más bajo para esa marca (que llamaré brand_price), luego ÚNASE esos datos a su tabla de autos original. Esto le dará la información adicional (brand_price) que necesita para ordenar los datos:

 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