如何在T-Sql XQuery中实现分页

时间:2018-07-20 08:54:41

标签: sql sql-server-2012 xquery-sql

我有一些XML,结构非常简单,但是在某些情况下非常大。

<group>
  <thing attr1="val1" attr2="val2"/>
  <thing attr1="val3" attr2="val4"/>
  ...
</group>

下面的简单查询非常有效地返回事物的子集

select MyXml.query('//group/thing[contains(@attr2,"val")]')
from mytable 
where pkfield = nnn

实际上,它的表现令人惊讶。

但是,我需要能够一次(例如)返回25个块。换句话说,我需要能够插入StartFrom&Pagesize变量。 这带来了2个头痛

  1. 如何以及何时进行排序(我可能会确保将节点在xml中进行预排序,但是会感激地收到所有替代方法)

  2. 如何实现分页?

我尝试过Position()[1 to 25],但没有成功。也许我只是语法不正确。

1 个答案:

答案 0 :(得分:0)

我发现以下是有效的

option = ViewData["Search1"];
search = ViewData["Search2"];