Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带分页符的SQL Server分页_Sql_Sql Server_Pagination_Sql Server 2012 - Fatal编程技术网

带分页符的SQL Server分页

带分页符的SQL Server分页,sql,sql-server,pagination,sql-server-2012,Sql,Sql Server,Pagination,Sql Server 2012,我想找到执行以下查询的最快方法(处理数千行): 我有一个名为“Flights”的SQL Server表。这是表格的结构: ID:线路的标识 FlightDate:行的日期 IsLastLineOfPage:如果该行是页面的最后一行,则该位等于1 ID\u用户:与另一个用户表的链接 我想找到一个非常快速的查询来选择所有列,按日期和ID排序,其中有两个新列,分别名为“RowNumber”和“PageNumber”。这就像分页一样,每页5行。如果IsLastLineOfPage的值=1,则即使页面

我想找到执行以下查询的最快方法(处理数千行):

我有一个名为“Flights”的SQL Server表。这是表格的结构:

  • ID:线路的标识
  • FlightDate:行的日期
  • IsLastLineOfPage:如果该行是页面的最后一行,则该位等于1
  • ID\u用户:与另一个用户表的链接
我想找到一个非常快速的查询来选择所有列,按日期和ID排序,其中有两个新列,分别名为“RowNumber”和“PageNumber”。这就像分页一样,每页5行。如果IsLastLineOfPage的值=1,则即使页面未满,下一行“PageNumber”也必须递增,“RowNumber”重置为1。例如,ID_User=5的查询结果:

链接此处:


我不知道该怎么做…谢谢

由于结果集是有序的,很可能它永远不会很快。确保事情尽可能快的一种方法是确保尽可能少的行具有完全相同的日期。在用于排序的列中添加索引也可能会有所帮助。要获得结果(取决于您使用的语言/SQL驱动程序),最好使用结果集游标。游标在服务器上收集结果,但一次只将结果发送回客户端一页。通常可以指定页面大小。如何做到这一点是特定于语言和驱动程序的。

设置一个、post,让我们来玩玩它吧。旁白:在问题中以表格形式放置示例数据和结果比链接到外部图像更可取。SQL Server的版本是什么。这里是小提琴。我向表中添加了许多行,但似乎在创建后会自动删除每一行(选择*give 0 result)。。。对不起,这是我第一次用这个。表和行的名称不同,但逻辑相同:我使用SQL SERVER 2012