Re: Creative use of CASE in a GROUP BY clause

Поиск
Список
Период
Сортировка
От Masaru Sugawara
Тема Re: Creative use of CASE in a GROUP BY clause
Дата
Msg-id 20020319004233.2FBF.RK73@sea.plala.or.jp
обсуждение исходный текст
Ответ на Creative use of CASE in a GROUP BY clause  ("Dorian Taylor" <leg0@hotmail.com>)
Список pgsql-sql
On Mon, 18 Mar 2002 13:14:46 
"Dorian Taylor" <leg0@hotmail.com> wrote:

> 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


If so, you may need to cast one of them.

e.g. SELECT COUNT(foo) FROM bar   GROUP BY CASE WHEN (? IS NOT NULL)                THEN thiscol::TEXT
ELSEthatcol         -- if the type of thatcol is TEXT           END;
 


> 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.
> 


Regards,
Masaru Sugawara




В списке pgsql-sql по дате отправления:

Предыдущее
От: "Dorian Taylor"
Дата:
Сообщение: Creative use of CASE in a GROUP BY clause
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Line Numbering in SELRCT Output