Skip to content

Instantly share code, notes, and snippets.

@robbypelssers
Last active December 15, 2015 02:28
XQuery3.0 Group By Clause
return
<groups>
{
for $person in $persons/person
group by
$country := $person/country,
$gender := $person/@gender
return
<group country="{$country}" gender="{$gender}">
<averageAge>{avg($person/age)}</averageAge>
</group>
}
</groups>
(:
**********************************************
Logical result
**********************************************
Belgium Netherlands
Male Female Male Female
---------------------------------------------
A 10 C 80 B 20 E 30
D 40 F 36
---- ---- ---- -----
25 80 28 30
**********************************************
XQuery output:
**********************************************
<groups>
<group country="Belgium" gender="male">
<averageAge>25</averageAge>
</group>
<group country="Belgium" gender="female">
<averageAge>80</averageAge>
</group>
<group country="Netherlands" gender="male">
<averageAge>28</averageAge>
</group>
<group country="Netherlands" gender="female">
<averageAge>30</averageAge>
</group>
</groups>
:)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment