pen*_*pen 2 mysql sql database
一段时间以来一直遇到麻烦.
我有一个像这样的数据库:
Car_ID Car_Brand Car_Model Car_Price
1 Ford Fiesta 4000
2 Ford Mustang 29000
3 Ford Focus 12000
4 Honda Civic 15000
6 Honda Jazz 5000
7 Toyota Prius 14000
Run Code Online (Sandbox Code Playgroud)
我想进行搜索,找到最便宜的汽车,然后通过价格上涨来订购同一品牌的其他汽车.
我希望我的输出是这样的:
Car_ID Car_Brand Car_Model Car_Price
1 Ford Fiesta 4000
3 Ford Focus 12000
2 Ford Mustang 29000
6 Honda Jazz 5000
4 Honda Civic 15000
7 Toyota Prius 14000
Run Code Online (Sandbox Code Playgroud)
最便宜的车是福特嘉年华,所以其他福特车型按照价格直接订购.然后本田拥有第二个最便宜的车型,所以爵士乐和其他本田车队紧随其后.
这可能吗?
Lar*_*tig 10
你需要做的是创建一个包含car_brand和最低的价格为品牌(我会打电话给brand_price)瞬态数据集,然后再加入数据返回给您的原车表.这将为您提供排序数据所需的额外信息(brand_price):
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
Run Code Online (Sandbox Code Playgroud)