如何在 T-SQL 中手动排列行?
我有一个表格结果,如下所示:
- 未知
- 查理
- 戴夫
- 丽莎
- 玛丽
但预期的结果应该是:
- 查理
- 戴夫
- 丽莎
- 玛丽
- 未知
编辑:
我的整个查询是:
select (case when s.StudentID is null then 'Unknown' else s.StudentName end) as StudentName from Period pd full join Course c on pd.TimeID = c.TimeID full join Student s on c.StudentID = s.StudentID
group by s.StudentName, s.StudentID
order by case s.StudentName
when 'Charlie' then 1
when 'Dave' then 2
when 'Lisa' then 3
when 'Mary' then 4
when 'Unknown' then 5
end
但它没有用。我认为问题的根源是因为 Unknown 来自 NULL 值,正如我在该查询中所写的那样,当 StudentID 为 null 时,将“NULL”更改为“Unknown”。这会影响结果的“顽固”顺序吗?顺便说一句,我也尝试过order by s.StudentName asc
,但也没有用。
谢谢你。