我在嘗試比較和統計同一節點的屬性時出現問題,例如,我需要過濾在同一天操作多次的醫生。我的例子xml是這樣的:如何比較同一節點上的屬性xQuery
<ops>
<med_operation pac="p1" doctor="David" date="2017-01-01" />
<med_operation pac="p2" doctor="David" date="2017-01-01" />
<med_operation pac="p3" doctor="Ana" date="2017-01-02" />
</ops>
我只會顯示「大衛」是唯一一個在同一天完成兩個操作的人。我得到了這個可憐的查詢提前
let $m := distinct-values(
let $dates := //med_operation/@date
for $d in $dates
let $ope := //med_operation[@date=$d]
let $c := count(//med_operation[@date=$d])
for $y in (1 to $c)
where ($ope[$y]/@date) = ($ope[$y+1]/@date) and $c > 1
return distinct-values($ope/@doctor)
)
return $m
感謝和我的英語對不起
這是的XQuery 1.0或3.0/3.1? XQuery 3.0引入了「group by」操作符,這使得這種事情變得更加容易。 –
3.0。我曾嘗試過幾件事,但我仍然從xquery開始 –