select item1,item2,item3,item4,item5 from (select top 50 * from Table order by item1 desc) as TempTB order by item1 asc
select item1,item2,item3,item4,item5 from Table where exsits (select top 50 itme1 from table order by item1 desc) order by item1 asc
我有一些数据,关键字从小到大存放在数据库,我想抽取关键字最大的若干条,并按升序排列显示请问上面两个sql语句那个效率高些呢? 还有没有效率更好的实现方式 ???
第二种,则无直接索引可以利用。(另外你第二种好象实现的也不是这种功能吧,检查一下你的语句)
select item1,item2,item3,item4,item5 from (select top 50 * from Table order by item1 desc) as TempTB order by item1 asc
理由就是查询用到了索引.第二种使用了
exsits,not exists等,用不到索引.