fn:count给我1而不是总计数()数

pp *_*des 3 xml xpath xquery

Xquery 3.0

 for $x in doc("XMLexemplo.xml")/Calendario/Curso/UC/Unidade/Exames/Exame
    let $day := fn:day-from-date(xs:date($x/Dia))
    where $day>=20 and $day <=21
    return count($day)
Run Code Online (Sandbox Code Playgroud)

输出是1 1我期待的2.

小智 6

你要求每天计数,这必然是1.你想要的是计算整个结果的大小,所以将计数包裹在整个FLWOR表达式中:

count(
  for $x in doc("XMLexemplo.xml")/Calendario/Curso/UC/Unidade/Exames/Exame
  let $day := fn:day-from-date(xs:date($x/Dia))
  where $day>=20 and $day <=21
  return $day
)
Run Code Online (Sandbox Code Playgroud)