业务, 豪华, 面包车或SUV, 行政面包车, 装甲轿车, 装甲面包车, 小巴我想知道如何可以输出上的SQL这些值
他们是在同一个表和列名称是Vehicletype。 我的问题是,如果使用ORDER BY ASC也不会拿出来的安排之上。
业务, 豪华, 面包车或SUV, 行政面包车, 装甲轿车, 装甲面包车, 小巴我想知道如何可以输出上的SQL这些值
他们是在同一个表和列名称是Vehicletype。 我的问题是,如果使用ORDER BY ASC也不会拿出来的安排之上。
ASC将输出列按字母顺序。 DESC将输出相反的结果。
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
。
谢谢,先生,即时通讯新的这种CASE语法使用SQL。 – 2012-07-24 03:02:25
我在实现CASE时遇到了困难.. – 2012-07-24 03:25:08
@JRicPeteros:您应该可以显示您的查询以及您如何尝试应用此解决方案或任何其他解决方案(最好*不是*在评论中,而是在原始文章中,使用*编辑*您的问题下方的链接)。这样它会更清楚你错过了什么,或者你就错了地方。 – 2012-07-24 08:31:38