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 >