0

从文档中获取最大属性值的最佳 xquery 方法是什么。例如

    <organizations>
       <organization id="1"/>
       <organization id="6"/>
       <organization id="11"/>
    </organizations>

我希望查询返回 11。

谢谢

4

3 回答 3

3
declare @xml xml = '
<organizations>
  <organization id="1"/>
  <organization id="6"/>
  <organization id="11"/>
</organizations>'

select @xml.value('max(/organizations/organization/@id)', 'int')
于 2011-10-20T22:13:50.553 回答
1

试试这个:

DECLARE @input XML = '<organizations>
       <organization id="1"/>
       <organization id="6"/>
       <organization id="11"/>
    </organizations>'


SELECT
    MAX(org.value('(@id)[1]', 'int'))
FROM
    @input.nodes('/organizations/organization') AS Orgs(Org)

您需要使用.nodes()获取所有可能值的列表,然后应用于MAX()该整数值列表。

于 2011-10-20T20:39:57.853 回答
0

您正在寻找的 XQuery 片段是max(/organizations/organization/@id).

于 2011-10-21T01:11:53.937 回答