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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM