按mysql中的某些条件排序列

时间:2014-04-27 15:27:29

标签: mysql sql group-by sql-order-by

我需要能够使用MySQL以适当的方式订购输出数据。 到目前为止,我正在使用ORDER BY,到目前为止一切正常。

我们说我有这样的事情: 表VEHICLES

ID | Name | MainGroup | SubGroup 
1  |  A   |   Vehicle |   Truck
2  |  B   |   Vehicle |   Car
3  |  C   |   Vehicle |   Car
4  |  D   |   Vehicle |   Truck
5  |  E   |   Vehicle |   Truck
6  |  F   |   Vehicle |   Motorbike

我正在使用它:

SELECT * FROM Vehicles WHERE MainGroup=Vehicle ORDER BY Subgroup;

当我选择它们时,它们不会以我想要的方式排序,因为现在我希望能够确定所选方式的方式。让我们说我想要这样的输出Car, Truck, Motorbike或其他方式。怎么做到这一点? 这是否可以使用order by

1 个答案:

答案 0 :(得分:3)

使用field()

SELECT *
FROM Vehicles
WHERE MainGroup=Vehicle
ORDER BY field(Subgroup, 'Car', 'Truck', 'Motorbike');