Re: 7.4 Wishlist

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: 7.4 Wishlist
Дата
Msg-id 20021202144827.I58766-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Re: 7.4 Wishlist  ("Magnus Naeslund(f)" <mag@fbab.net>)
Список pgsql-hackers
On Mon, 2 Dec 2002, Magnus Naeslund(f) wrote:

> Stephan Szabo <sszabo@megazone23.bigpanda.com> wrote:
> >
> > If you use a scalar subquery, yes, but I think a subselect in from
> > would help, maybe something like (if you want the total count)
> >
> > select table_name.id, sum(sum_col)||'/'||t2.count from table_name,
> > (select count(*) as count from table_name) as t2 group by
> > table_name.id,t2.count;
> >
> > or (if you want each count the counter per group) either
> >
> >  select id, sum(sum_col)||'/'||count(*) from table_name
> > group by id;
> >
> > or
> >
> >  select table_name.id, sum(sum_col)||'/'||t2.count from table_name,
> > (select id, count(*) as count from table_name group by id) as t2 where
> > table_name.id=t2.id group by table_name.id,t2.count;
> >
>
> Give it up already, i was MAKING A POINT, not trying to make an
> optimized count(*) thing :)
> There are other examples that you cannot get around, that will be
> evaluated more than once when a local "user variable" would make it not
> need to.

For most cases sticking an expression in a subselect in from works to not
re-evaluate it (unless it's correlated in which case I don't think local
variables help).  It might not be as optimal in all cases, but probably is
sufficient in most cases.



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

Предыдущее
От: Rod Taylor
Дата:
Сообщение: Re: PG 7.3: Query Meta Data with the JDBC-driver
Следующее
От: "Matthew T. O'Connor"
Дата:
Сообщение: Re: Auto Vacuum Daemon (again...)