我想在xquery中使用Group By。请问有人能告诉我如何在Marklogic中使用Group By?如何在Marklogic中使用Group By?
5
A
回答
4
简短的回答是使用map:map
。有关文档请参见http://docs.marklogic.com/map:map,有关更长的讨论,请参阅http://blakeley.com/blogofile/archives/560/。
4
或者,你可以调用出来使用xdmp:xslt-invoke
或xdmp:xslt-eval
到XSLT。 MarkLogic的XSLT处理器支持XSLT 2.0,其中包括对<xsl:for-each-group>
的全面支持。
+0
查看@mg_kedzie的答案举例.. – grtjn 2016-12-15 07:59:03
0
MarkLogic覆盖(与它的1.0-ml的方言)的XQuery 3.0的部分,但不幸的是FLWOR组由支撑不足。
但是,你仍然可以以编程方式创建由像语法组将达到同样的效果。下面是一个XQuery例如:
for $d in distinct-values(doc("order.xml")//item/@dept)
let $items := doc("order.xml")//item[@dept = $d]
order by $d
return <department code="{$d}">{
for $i in $items
order by $i/@num
return $i
}</department>
HTH
1
xquery version "1.0-ml";
let $xml:= <Students>
<Student Country="England" Name="Dan" Age="20" Class="C"/>
<Student Country="England" Name="Maria" Age="20" Class="B" />
<Student Country="Australia" Name="Mark" Age="22" Class="A" />
</Students>
let $xsl:= <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="Students">
<result>
<xsl:for-each-group select="Student" group-by="@Country">
<country>
<xsl:attribute name="name"><xsl:value-of select="fn:current-grouping-key()"/></xsl:attribute>
<xsl:for-each select="fn:current-group()/@Name">
<name><xsl:value-of select="."/></name>
</xsl:for-each>
</country>
</xsl:for-each-group>
</result>
</xsl:template>
</xsl:stylesheet>
return xdmp:xslt-eval($xsl,$xml)
相关问题
- 1. 如何在选择中使用Group By?
- 2. 如何在Django ORM中使用GROUP BY
- 3. 如何在App Engine中使用GROUP BY
- 4. 如何在GreenDao中使用GROUP BY
- 5. 如何在Oracle中使用GROUP BY&MAX()?
- 6. 如何在postgresql中使用group by
- 7. 如何使用group by by qlikview
- 8. 在JPA中使用GROUP BY
- 9. 使用group by
- 10. 如何在多列上使用group by?
- 11. 如何在hql上使用'group by'?
- 12. 如何在Linq提取方法中使用order by和group by?
- 13. SQL - 使用GROUP BY
- 14. GROUP BY使用Perl
- 15. Linq使用如何使用order by和group by with left join?
- 16. 如何使用GROUP BY与SELF JOIN?
- 17. 如何使用Dictionary对象做“Group by”?
- 18. 使用GROUP BY与条件,如何?
- 19. 在excel中使用Group by公式
- 20. 在SQL Server中使用RollUp和Group By?
- 21. GROUP BY在MySQL中使用通配符
- 22. 何时使用Hadoop,何时使用ElasticSearch进行group by by/facets?
- 23. $ group by by undefined
- 24. ORDER BY GROUP BY
- 25. group by by django
- 26. ORDER BY MAX(`field_name`)使用GROUP BY
- 27. mysql - 使用group by和order by
- 28. 使用ORDER BY和GROUP BY一起
- 29. GROUP BY在SQL
- 30. GROUP BY在elasticsearch
没有使用Marklogic。但请查看http://blakeley.com/blogofile/archives/560/ – 2012-04-23 07:29:55
您使用的MarkLogic版本是否支持XQuery 3.0草案? (FLWOR表达式中增加了“group by”支持,只有3.0版;在此之前,您必须自己完成)。 XQuery 3.0中“group by”的摘要可以在http://docs.basex.org/wiki/XQuery_3.0#Group_By找到 – 2012-04-23 15:14:15