Re: Count of records in a row - Mailing list pgsql-general

From Robert James
Subject Re: Count of records in a row
Date
Msg-id CAGYyBghy0HqXBHopgqkfrb1OUrw2eFG8y-yKy7RbW--+Axp4-Q@mail.gmail.com
Whole thread Raw
In response to Re: Count of records in a row  (Rémi Cura <remi.cura@gmail.com>)
Responses Re: Count of records in a row  (Rémi Cura <remi.cura@gmail.com>)
List pgsql-general
On 10/22/13, Rémi Cura <remi.cura@gmail.com> wrote:
> But it is immensely easier and sometimes mandatory to use instead
> a plpgsql function using cursor (or cursors).
>
> It would be something like that in plpgsql :
>
> cursor on table of letter ordered
> accum = 0;
> loop on rows of table ordered
>
> if letter = previous letter, new_id = accum
> else accum ++ ; new_id = accum
>
> old letter = new_letter
> new letter = next letter;
>
> end of loop,

Shouldn't it be possible to do that with a FOR loop without a cursor?

It might be that procedural is the way to go.  But I still believe
that relational algebra can handle this, even without a window
function.  Something like:

SELECT event e, COUNT(
    SELECT event oe ... WHERE oe.event_time > e.event_time AND NOT EXISTS (
             SELECT event te WHERE te.event_time > e.event_time AND
te.event_time < oe.event_time))

.


pgsql-general by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: Why there are TRANS_START and TRANS_INPROGRESS
Next
From: Rémi Cura
Date:
Subject: Re: Count of records in a row