我有一个处理Xquery的问题。 我的目标是将来自循环的所有元素显示到不同的元素中,这些元素具有相同的属性但对另一个属性不同。已经48小时我坚持了,我不能前进! :(
这里有一个我有的表类型的例子:
<people>
<crazy id="123" firstname="John" lastname="Fool" score="20">
<crazy id="123" firstname="John" lastname="Fool" score="80">
<crazy id="123" firstname="John" lastname="Fool" score="77">
<crazy id="123" firstname="John" lastname="Fool" score="49">
<crazy id="789" firstname="Lea" lastname="Dumb" score="54">
<crazy id="789" firstname="Lea" lastname="Dumb" score="89">
<crazy id="789" firstname="Lea" lastname="Dumb" score="99">
<crazy id="789" firstname="Lea" lastname="Dumb" score="4">
<crazy id="247" firstname="Paul" lastname="Duck" score="16">
<crazy id="247" firstname="Paul" lastname="Duck" score="91">
<crazy id="247" firstname="Paul" lastname="Duck" score="22">
<crazy id="247" firstname="Paul" lastname="Duck" score="31">
</people>
我想得到类似的东西:
<person>247</person>
(这是两个得分低于“50”的人的“id”列表。
我有类似的东西
let $calc:= (
for $boucle in people where ($boucle/@score>="50")
return $boucle
)
现在我想列出小于2“得分”大于50的人数。 但我不知道该怎么办:( :(
答案 0 :(得分:0)
我不是100%确定你想要什么,但我认为就是这样:
for $id in distinct-values(//crazy/@id)
where count(//crazy[@id = $id and number(@score) gt 50]) lt 2
return <person>{$id}</person>