是否可以为返回的结果定义排序顺序?
我希望排序顺序为“橙色”“苹果”“草莓”,而不是升序或降序。
我知道 ORDER BY 可以执行 ASC 或 DESC,但是有 DEFINED('orange', 'apple', 'strawberry') 类型的东西吗?
这将在 SQL Server 2000 上运行。
最佳答案
这非常笨重,但您可以使用 CASE 语句进行排序:
SELECT * FROM Blah
ORDER BY CASE MyColumn
WHEN 'orange' THEN 1
WHEN 'apple' THEN 2
WHEN 'strawberry' THEN 3
END
或者,您可以创建一个包含排序字段和排序顺序的辅助表。
TargetValue SortOrder
orange 1
apple 2
strawberry 3
并将您的表格加入到这个新表格中。
关于sql - TSQL - 是否可以定义排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789241/