ビジネス、ラグジュアリー、ミニバンまたは SUV、エグゼクティブ バン、アーマード セダン、アーマード ミニバン、ミニバス
それらは同じテーブルにあり、列名は Vehicletype です。私の質問は、ORDER BY ASC を使用すると、上記の取り決めに至らないということです。
ビジネス、ラグジュアリー、ミニバンまたは SUV、エグゼクティブ バン、アーマード セダン、アーマード ミニバン、ミニバス
それらは同じテーブルにあり、列名は Vehicletype です。私の質問は、ORDER BY ASC を使用すると、上記の取り決めに至らないということです。
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
これには、条件文を使用して位置の数値を導入するのが一般的です。の一部として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
。
ASCは列をアルファベット順に出力します。そしてDESCは反対を出力します。