具有额外WHERE和ORDER BY子句的MSSQL TOPLIMIT操作

问题描述

|| 第一次遇到在MSSQL中使用LIMIT子句的问题时,我感到困惑。无法获取如何使分页脚本正常工作。 我想在额外的WHERE和ORDERY BY条件下使用LIMIT子句。欢迎任何帮助! 这是我的MySQL查询:
$query = mysql_query(\"SELECT FLD_NAME,FLD_AGE FROM TBL_USERS WHERE FLAG=\'1\' ORDER BY FLD_AGE DESC LIMIT 0,50\");

//rows_per_page = 50;
如何将该MySQL查询转换为MSSQL查询? 提前致谢!     

解决方法

对于完整的分页,可以使用ROW_NUMBER()函数,如下所示:
select * from 
(select Row_Number() over ( ORDER BY FLD_AGE DESC ) as RowIndex,FLD_NAME,FLD_AGE FROM    
TBL_USERS WHERE FLAG=\'1\') as pager    Where pager.RowIndex >= 10 and pager.RowIndex < 40
    ,
SELECT TOP(50) FLD_NAME,FLD_AGE FROM TBL_USERS WHERE FLAG=\'1\' ORDER BY FLD_AGE DESC 
有关完整的分页示例,请检查Google!     ,
SELECT TOP 50 FLD_NAME,FLD_AGE
FROM TBL_USERS
WHERE FLAG=\'1\'
ORDER BY FLD_AGE DESC;
有关更多信息,请再次访问MSDN和MSDN。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...