现在的位置: 网页制作教程网站制作教程 >正文
SQL语句教程

在mssql中如何实现mysql limit语句

发表于2015/5/18 网站制作教程 1条评论 ⁄ 热度 8,915℃
导语:MYSQL数据库的sql语句select...limit...应用起来很顺手,但在MSSQL数据库中,并不支持这一写法。本文就基于这个问题做深入探讨并给出解决办法。

手上有一个项目需要更换数据库,将原有的mysql数据库更换成mssql,在此过程中,遇到一些问题,其中就发现select limit语句不起作用。原来MSSQL数据库并不支持select...limit...这一sql语句。我们先了解一下mysql的limit用法。

mysql数据库更换成mssql数据库

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语句完美解决。

  • 暂无评论