Re: Formatting Functions and Group By - Mailing list pgsql-sql

From Bruno Wolff III
Subject Re: Formatting Functions and Group By
Date
Msg-id 20040413164518.GA18956@wolff.to
Whole thread Raw
In response to Formatting Functions and Group By  (Terry Brick <terry_brick2000@yahoo.com>)
List pgsql-sql
On Tue, Apr 13, 2004 at 09:13:05 -0700, Terry Brick <terry_brick2000@yahoo.com> wrote:
> Hi,
> I'm porting a bunch of queries from MySQL to Postgres 7.4 and am having a problem with one
> particular area.  For example, a query like this works in MySQL:
> 
> select
>   to_char(myCol,'Mon YY')
> from
>   myTable
> group by
>   to_char(myCol,'MM YYYY')
> order by
>   to_char(myCol,'MM YYYY')
> 
> Postgres will give me an error saying that "to_char(myCol,'Mon YY')" must be in the 'group by'.  I
> understand why that normally needs to be the case, but in theory, it would be ok here because they
> are actually the same values (in the select and group by) but just formatted differently.  I just
> want the query to be grouped and ordered by month and year, but to be formatted differently in the
> output.  
> 
> Any ideas?

You could do something like the following. It works in 7.4, but I am not
sure if it is completely standard.

area=> select to_char(date_trunc('month',current_date), 'MM YYYY')
area->   group by date_trunc('month',current_date);to_char
---------04 2004
(1 row)


pgsql-sql by date:

Previous
From: Terry Brick
Date:
Subject: Formatting Functions and Group By
Next
From: Tom Lane
Date:
Subject: Re: Formatting Functions and Group By