2

商务、豪华、小型货车或 SUV、行政面包车、装甲轿车、装甲小型货车、小巴

它们在同一张表上,列名是 Vehicletype。我的问题是,如果使用 ORDER BY ASC 将无法达到上述安排。

4

3 回答 3

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
于 2012-07-24T02:14:46.797 回答
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.

于 2012-07-24T02:18:28.713 回答
0

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

于 2012-07-24T02:06:26.850 回答