[xquery-talk] RE: aggregate , grouping

fatma helmy fatmahelmy2000 at yahoo.com
Wed Dec 21 10:12:40 PST 2005


dear all
as you know in relational data base , we can apply
grouping and count at the same time
example from relational
TID=1  Item=D
TID=1  Item=B
TID=2  Item=C
if Select count(item) group by TID , the result will
be
TID=1 count of items=2
TID=2 count of items=1
i need the same in xquery , if i have xml file, i need
to get the elements names found in the document
described by their full path then i need to count the
number of repetition of each node in the document.
each node must be described by its full path as i
declared in the example




--- Michael Kay <mhk at mhk.me.uk> wrote:

>  
> > Grouping is a bit convoluted in XQuery 1.0. I
> assume here 
> > that by "distinct" you mean "having distinct
> values of the 
> > @id attribute".
> > 
> > You can select the first <trans> element having
> each distinct id using
> > 
> > for $i in distinct-values(trans/@id)
> > return trans[@id=$i][1]
> > 
> > But it's not clear to me from your problem
> description what 
> > you then want to do with these elements.
> > 
> > Michael Kay
> > http://www.saxonica.com/ 
> > 
> > > -----Original Message-----
> > > From: fatma helmy
> [mailto:fatmahelmy2000 at yahoo.com] 
> > > Sent: 21 December 2005 11:46
> > > To: talk at xquery.com
> > > Subject: aggregate , grouping
> > > 
> > > Dear all
> > > suppose i have xml like
> > > <trans id=1>
> > >    <item>
> > >         <elem> it </elem>
> > >    </item>
> > > </trans>
> > > <trans id=2>
> > >    <item>
> > >         <elem> is </elem>
> > >    </item>
> > > </trans>
> > > 
> > > i need to slect distint nodes such that i can
> > > automatically get the node names which are
> <trans> ,
> > > <item> , <elem> 
> > > and also i want to keep the path they came from
> for
> > > exammple node elem is in the path trans/item/
> > > then i need aggregate function which produces
> the
> > > count of certain pathfor example . path
> item/elem  is
> > > repeated twice in trans 1 and trans 2
> > > 
> > > thanks
> > > 
> > > 
> > > 
> > >
> __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> > > http://mail.yahoo.com 
> > > 
> > 
> 
> 
> _______________________________________________
> talk at xquery.com
> http://xquery.com/mailman/listinfo/talk
> 




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the talk mailing list