Seskupování dat

  • přímá podpora není, ale pomocí funkce distinct-value lze jednoduše simulovat

  • (: Vypsání kategorií, průměrné ceny a počtu výrobků v každé kategorii :)
    
    for $k in distinct-values(doc('katalog.xml')//polozka/kategorie)
    let $p := doc('katalog.xml')//polozka[kategorie = $k]
    return 
      <kategorie>
        <nazev>{ $k }</nazev>
        <prcena>{ avg($p/cena) }</prcena>
        <pocetv>{ count($p) }</pocetv>
      </kategorie>