我的数据库中有这样的数据:
0 1 2 1 0 3
我希望按升序排序,第一条记录应该是1而不是0.我想要这样的输出:
1 1 2 3 0 0
。
请任何人帮帮我?我有一个这样的存储过程:
select * from table order by number ascending
,输出为0 0 1 1 2 3
人
答案 0 :(得分:4)
select * from table order by CASE WHEN id = 0 THEN 999999 ELSE id END
这只是更改排序顺序,如果要添加额外字段,则可以轻松扩展。
答案 1 :(得分:1)
应该很简单。你可以在where where条件下选择两次并使用union all。
select * into #temp from table where id <> 0 order by id
select * from #temp
union all
select * from table where id = 0