当前位置: 首页 > 面试题库 >

SQL Server中的行偏移

孙光临
2023-03-14
问题内容

SQL Server中有什么方法可以使结果从给定的偏移量开始?例如,在另一种类型的SQL数据库中,可以执行以下操作:

SELECT * FROM MyTable OFFSET 50 LIMIT 25

得到结果51-75。SQL Server中似乎不存在此构造。

如何在不加载我不关心的所有行的情况下完成此任务?谢谢!


问题答案:

我会避免使用SELECT *。指定您实际上想要的列,即使可能是全部。

SQL Server 2005以上版本

SELECT col1, col2 
FROM (
    SELECT col1, col2, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum
    FROM MyTable
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum BETWEEN @startRow AND @endRow

SQL Server 2000

通过SQL Server
2000中的大型结果集有效地分页

通过大型结果集进行分页的更有效方法



 类似资料:
  • 问题内容: 我正在尝试在SQLServer中聚合“ STRING”字段。我想找到与Oracle中相同的函数LISTAGG。 您知道如何执行相同的功能或其他方法吗? 例如, 我希望这个查询的结果是 问题答案: 从SQL Server 2017开始,该功能可用,从而大大简化了逻辑: 在SQL Server中,您可以用来获取结果:

  • 如何将行交换到列,我有一个输出,如 我需要一个输出比如

  • 我如何准确地抵消可以按任何时间量(如一天)执行吗? 例如: 我需要用一天的时间来抵消上面的费用。当我的脚本进入夏令时转换时有一个小问题,但我不需要看过去,但是因为它今天加载,它也会死掉,因为python脚本在今天工作时出错。

  • 问题内容: 我想构造一个查询,在表中显示所有结果,但是从表的开头偏移5。据我所知,MySQL 需要一个限制和一个偏移量。有什么办法吗? 问题答案: 从LIMIT的MySQL手册: 要检索从某个偏移量到结果集结尾的所有行,可以为第二个参数使用较大的数字。该语句检索从第96行到最后一行的所有行:

  • node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序。可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Windows Azure SQL 数据库。 该项目托管在 Github 上。

  • sqlserver manager 是一个多功能sqlserver图形管理界面,支持自定义导入导出,自动扫描服务器,数据库。