Jos*_*ips 0 sql t-sql sql-server-2008
在上面的t-sql表中,我非常希望Total行显示在底部.我一直在反对这一点,并且在我的所有其他查询中简单地使用ORDER BY Status工作,因为Total在列表中的字母顺序比我们的大多数行值更远.
这不是这种情况,我无法弄清楚如何改变它
我是sql的新手,我甚至在确定如何使用谷歌搜索时遇到了很多困难.到目前为止,我刚刚得到了与Order By相关的结果
select
除非通过"order by"子句显式指定订单,否则查询的结果可以按任何顺序返回.而且,它们返回的顺序甚至不是确定性的.连续3次运行完全相同的查询可能会返回3个不同排序的完全相同的结果集.
因此,如果您想要特定订单到您的表,您需要订购它.一个order by子句就像
select *
from myTable t
where ...
order by case Status when 'Total' then 1 else 0 end ,
Status
Run Code Online (Sandbox Code Playgroud)
你能做到吗 'Total'行将浮动到底部,其他行将按整理顺序排序.您也可以使用此技术任意订购:
select *
from myTable t
where ...
order by case Status
when 'Deceased' then 1
when 'Total' then 2
when 'Active' then 3
when 'Withdrawn' then 4
else 5
end
Run Code Online (Sandbox Code Playgroud)
将首先列出状态为"已死"的行,然后列出状态为"总计"的行,然后是"活动"和"撤销",最后列出任何不匹配的行列表中的项目.