Creative use of CASE in a GROUP BY clause

From: "Dorian Taylor" <leg0(at)hotmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Creative use of CASE in a GROUP BY clause
Date: 2002-03-18 13:14:46
Message-ID: F4zhQoKH6tw5u3A64Bo00002071@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Greets,

I'm trying to figure out how to craft a query that I can embed into a piece
of code that can be passed a bind value in order to dictate how it should
behave on GROUP BY, sparing me from having to write separate queries for N
functions and/or columns I may want to group my query by.

e.g. SELECT COUNT(foo) FROM bar GROUP BY CASE (? IS NOT NULL) THEN thiscol
ELSE thatcol END

If thiscol and thatcol aren't the same type, the CASE bombs out. I suppose
ultimately it would be a matter of reducing each column definition in the
CASE to a boolean expression, but I'm not sure what that would syntactically
look like, as simply declaring a column in GROUP BY is obviously shorthand
for something.

Thanks

Dorian

_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Masaru Sugawara 2002-03-18 15:58:25 Re: Creative use of CASE in a GROUP BY clause
Previous Message Rudi Starcevic 2002-03-18 00:53:52 Re: Boolean test