【发布时间】:2014-04-27 16:22:55
【问题描述】:
这个问题已部分回答,这就是为什么我需要在 HERE 中创建另一个问题。 我相信其他人会搜索类似的东西。
如果我有这样的表:
表VEHICLES:
ID | Name | MainGroup | SubGroup | Price
1 | A | Vehicle | Truck | 1399
2 | B | Vehicle | Car | 200
3 | C | Vehicle | Car | 1400
4 | D | Vehicle | Truck | 50
5 | E | Vehicle | Truck | 3200
6 | F | Vehicle | Motorbike| 79
如果我使用此代码:
SELECT *
FROM Vehicles
WHERE MainGroup=Vehicle
ORDER BY field(Subgroup, 'Car', 'Truck', 'Motorbike');
它只会由subgroup 订购,我也希望它由price 订购。
我试过了:
SELECT *
FROM Vehicles
WHERE MainGroup=Vehicle
ORDER BY field(Subgroup, 'Car', 'Truck', 'Motorbike'), Price ASC;
然后我的数据仅由Price 排序。
我希望能够得到这样的东西:
ID | Name | MainGroup | SubGroup | Price
2 | B | Vehicle | Car | 200
3 | C | Vehicle | Car | 1400
4 | D | Vehicle | Truck | 50
1 | A | Vehicle | Truck | 1399
5 | E | Vehicle | Truck | 3200
6 | F | Vehicle | Motorbike| 79
为此使用 order by 的正确方法是什么?还是其他一些 MySQL 函数?
【问题讨论】:
-
你尝试的代码应该可以工作sqlfiddle.com/#!2/f274ee/1
标签: mysql sql group-by sql-order-by