SELECT TOP 100 PERCENT 不按后面的order by 排序

  项目中,由于需要把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

上一篇:HDU 1024 Max Sum Plus Plus --- dp+滚动数组


下一篇:MySQL操作类的封装(PHP)