Thanks, the solution would work for fixed interval timestamp.
But the data I am dealing with has irregular timestamp so can not be
generated with exact steps.

I would consider this a special case/method of random sampling, evenly
distributed sampling according to the defined  timestamp index.

On Mon, Jan 25, 2016 at 3:48 AM, Vik Fearing <v...@2ndquadrant.fr> wrote:

> On 01/25/2016 05:09 AM, Tom Smith wrote:
> > Hello:
> >
> > I have a big table with that is always appended with new data with a
> unique
> > sequence id  (always incremented, or timestamp as unique index) each row.
> > I'd like to sample, say 100 rows out of say 1000 rows evently across all
> > the rows,
> > so that it would return  rows  of1, 101, 201, 301    you get idea.
> > can TABLESAMPLE    get one row for every 100 rows, based on the order
> > of the rows added to table using the timestamp as already indexed/sorted
> > sequence
>
> No, TABLESAMPLE is intended to take a random sampling of the data using
> various methods.
>
> You're looking for something more like this:
>
>     select t.*
>     from generate_series(1, (select max(id) from t), 100) g
>     join t on t.id = g;
> --
> Vik Fearing                                          +33 6 46 75 15 36
> http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support
>

Reply via email to