Re: how to get the total number of records in report

Поиск
Список
Период
Сортировка
От AI Rumman
Тема Re: how to get the total number of records in report
Дата
Msg-id AANLkTi=nZ4JSXjHrNkCP=HT226-8-muZRLwR89KU-rwz@mail.gmail.com
обсуждение исходный текст
Ответ на Re: how to get the total number of records in report  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: how to get the total number of records in report
Список pgsql-performance
But I am using Postgresql 8.1 and it is not possible to write query as your one here.

On Thu, Oct 28, 2010 at 11:05 PM, Robert Haas <robertmhaas@gmail.com> wrote:
On Tue, Oct 19, 2010 at 7:56 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
> On Mon, Oct 18, 2010 at 1:16 AM, AI Rumman <rummandba@gmail.com> wrote:
>> At present for reporting I use following types of query:
>> select crm.*, crm_cnt.cnt
>> from crm,
>> (select count(*) as cnt from crm) crm_cnt;
>> Here count query is used to find the total number of records.
>> Same FROM clause is copied in both the part of the query.
>> Is there any other good alternative way to get this similar value?
>
> Probably the best way to do this type of thing is handle it on the
> client.  However, if you want to do it this way and your from clause
> is more complex than 'from table', you can possibly improve on this
> with a CTE:
>
> with q as (select * from <something expensive>)
> select q.* q_cnt.cnt from q, (select count(*) as cnt from q) q_cnt;
>
> The advantage here is that the CTE is materialized without having to
> do the whole query again.  This can be win or loss depending on the
> query.

What about

select crm.*, sum(1) over () as crm_count from crm limit 10;

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

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

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: how to get the total number of records in report
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: how to get the total number of records in report