SQL Server中ORDER BY排序不符合预期的问题求助
SQL Server中ORDER BY排序不符合预期的问题求助
各位大佬,我碰到个头疼的问题——ORDER BY排序的结果完全不是我想要的样子,实在摸不着头脑,想请大家帮忙看看!
我的SQL代码是这样的:
SELECT LastName + ' ' + FirstName AS [Full name], TitleOfCourtesy AS titleOfCourtesy, CASE WHEN TitleOfCourtesy IN ('Ms.', 'Mrs.') THEN 'Female' WHEN TitleOfCourtesy = 'Mr.' THEN 'Male' END AS Sex FROM Employees WHERE TitleOfCourtesy IN ('Mrs.','Ms.','Mr.') -- ORDER BY Sex DESC;
这段代码执行后,能得到正常的初始结果集。可当我取消注释最后一行的ORDER BY Sex DESC;之后,返回的结果里Callahan Laura和Dodsworth Anne这两条记录居然跑到前面去了!
我预期的排序结果应该是按Sex降序排列,也就是Male在前、Female在后,同性别内保持原本的顺序才对。
另外我也附上了自己的Employees表结构截图,可就是搞不懂为什么加了ORDER BY之后会出现这种情况,难道我对ORDER BY的工作逻辑理解错了吗?
真心希望能得到大家的帮助,谢谢各位!
备注:内容来源于stack exchange,提问作者Nguyễn Văn Mạnh
相关产品推荐
相关产品推荐

