项目中,由于需要把3个状态的任务合并显示,并且按照任务由近及远的顺序排序,类似于下面的语句
select * from (select top 100 percent taskid,state from looptask where state=1 order by taskid desc )m
union all
select * from (select top 100 percent taskid,state from looptask where state=2 order by taskid desc )n
union all
select * from (select top 100 percent taskid,state from looptask where state=3 order by taskid desc )t
但是在执行中,发现结果并没有按照设定的排序显示。
后来发现这个方法可行,把100改成99.9999999 这样使用select top 99.999999 PERCENT,一般来说,你的数据库不超过1亿条数据,使用99.999999 PERCENT都不会使你遗漏数据。需要的话再添俩9