【发布时间】:2023-03-28 09:06:01
【问题描述】:
我正在尝试编写一个查询,将表的结果排序为 3 个部分,并且我希望每个部分在完成后按字母顺序排列。这是我写的查询:
SELECT * FROM
(SELECT TOP 100 PERCENT * FROM Hospital WHERE Status = 1 Order By HospitalShortName )
As Result Order BY CASE HospitalType
WHEN 'HOS' THEN 1 WHEN 'NH' THEN 2 ELSE 3 END
所以我的预期结果是这样的:
- A医院
- 医院B
- 医院C
- A 疗养院
- 等
但是,此查询返回的列表分为正确的组,但不是按 HospitalShortName 的字母顺序。我理解为什么上面的查询不起作用,但我不知道从这里去哪里。非常感谢任何帮助。
【问题讨论】:
-
“我明白为什么上面的查询不起作用”只是出于好奇,为什么?
-
我了解子查询已成功按字母顺序排序,但在按 HospitalType 再次排序后被丢弃。
标签: sql list sorting sql-order-by