Hi, everyone:
  Here is my query that finds the distinct value and counts them,  you can see 
that I used the same sub query twice, first for finding the distinct values, 
second for count the distinct values,  is there a way that I can cache the sub 
query result and reuse it somewhere else? I think it will run faster in that 
way.





import module namespace  fx = "http://www.functx.com"; at 
"functx-1.0-doc-2007-01.xq";
declare namespace business="http://www.sipo.gov.cn/XMLSchema/business";;
declare namespace base="http://www.sipo.gov.cn/XMLSchema/base";;


(:Iterate through the distributed values:)
for $dis_val in 
(
  (
  (:open multi database, then query the doc status field:)
  for $result in doc("50PatentDividedCreatingClause.xml")/results/result
  return db:open($result/dbName)/business:PatentDocumentAndRelated/@status
  )
  =>distinct-values()
)
return
"value : " || $dis_val || ",  count: "|| 
count(
  for $status in 
  (
    for $result in doc("50PatentDividedCreatingClause.xml")/results/result
    return db:open($result/dbName)/business:PatentDocumentAndRelated/@status
  )  
where $status = $dis_val
return $status||"")

Reply via email to