In article <20060829105458.GB22806@svana.org>,
kleptog@svana.org (Martijn van Oosterhout) wrote:
> On Sat, Aug 26, 2006 at 03:51:06PM -0400, Perez wrote:
> > Hi all,
> >
> > Using 8.1.4 and contrib/xml2. When I do a
> >
> > select xpath_string(note, '//Thing') as note,
> > count(aDate) from theTable
> > group by lower(xpath_string(note, '//Thing'))
> > order by 2 desc;
> >
> > I get an error:
> > GROUP BY must contain note.
> > But I can do that for a plain text/varchar field. Adding the non-xpath
> > note field messes up the grouping.
>
> I wonder if it's getting confused about which "note" you're referring
> to in the GROUP BY clause.
>
> > select note, count(aDate) from
> > (select lower(xpath_string(note, '//Thing')) as note, aDate from
> > theTable) as foo
> > group by note
>
> This is about the same thing, so why not use that?
>
> Have a nice day,
You're right, it is almost the same thing. But the second form loses
the case of the original - everything is returned lower case. If I must
I must but I'ld like to preserve the case is possible.
-arturo