From: | Tom Smith <tomsmith1989sk(at)gmail(dot)com> |
---|---|
To: | Vik Fearing <vik(at)2ndquadrant(dot)fr> |
Cc: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: TABLESAMPLE usage |
Date: | 2016-01-25 08:55:20 |
Message-ID: | CAKwSVFFR8KbBkLQ-cNp9yV0+ppc003=zsSsb6O31bYnmDZxGUg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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 <vik(at)2ndquadrant(dot)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
>
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2016-01-25 08:55:41 | Re: A motion |
Previous Message | Vik Fearing | 2016-01-25 08:48:01 | Re: TABLESAMPLE usage |