2012-07-24 49 views

回答

0

ASC将输出列按字母顺序。 DESC将输出相反的结果。

2

ASC订单字母升序。如果您需要将该订单更改为其他内容,请添加该列的另一列(例如,SORTORDER),即使您没有显示该列,该列也会添加ORDER BY

VehicleType   SortOrder 
-----------   --------- 
Business    1 
Luxury     2 
Minivan or SUV   3 
Executive van   4 
Armored Sedan   5 
Armored Minivan  6 
Minibus    7 

SELECT VehicleType FROM whatever ORDER BY sortorder ASC 
1

通常使用条件语句为此引入位置的数字。当你的SELECT的一部分,你可以使用:

CASE WHEN Vehicletype='Business' THEN 1 
     WHEN Vehicletype='...' THEN 2 
     WHEN ... 
     ELSE NULL 
END AS position 

或简单的在这种情况下:

CASE VehicleType 
WHEN 'Business' THEN 1 
WHEN '...' THEN 2 
END AS position 

然后,使用ORDER BY position

+0

谢谢,先生,即时通讯新的这种CASE语法使用SQL。 – 2012-07-24 03:02:25

+0

我在实现CASE时遇到了困难.. – 2012-07-24 03:25:08

+0

@JRicPeteros:您应该可以显示您的查询以及您如何尝试应用此解决方案或任何其他解决方案(最好*不是*在评论中,而是在原始文章中,使用*编辑*您的问题下方的链接)。这样它会更清楚你错过了什么,或者你就错了地方。 – 2012-07-24 08:31:38

相关问题