导语:MYSQL数据库的sql语句select...limit...应用起来很顺手,但在MSSQL数据库中,并不支持这一写法。本文就基于这个问题做深入探讨并给出解决办法。
手上有一个项目需要更换数据库,将原有的mysql数据库更换成mssql,在此过程中,遇到一些问题,其中就发现select limit语句不起作用。原来MSSQL数据库并不支持select...limit...这一sql语句。我们先了解一下mysql的limit用法。
Mysql中limit的用法
Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。
SELECT * FROM table LIMIT 5,10;
结果:返回第6到第15行的记录。
MSSQL数据库实现select...limit...效果的解决方案
由于MSSQL数据库并不支持limit语句,这就要求我们另想办法实现这一效果。
虽然sql server不支持 limit ,但是它支持 top。
select top 6 * from table where order by id
结果:返回前6条记录。
虽然sql server不支持 limit ,但是它支持 top。
select top 3 * from table where id not in (select top 6 id from table order by id desc) order by id desc
结果:返回第7条到第9条记录。
这样我们就很好的解决了在mssql数据库中不支持limit语句,利用top语句完美解决。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/132.html