On Wed, Apr 21, 2004 at 10:53:16AM +0800, Vincent Ladlad wrote: > > the table contains hundreds of thousands of records. > i need to get all the entries/records at every 10 seconds > interval. example, given a table: > > hh/mm/ss | data > --------------- > 00:00:00 1 > 00:00:01 2 > 00:00:02 3 > 00:00:03 4 > 00:00:04 5 > 00:00:05 6 > 00:00:06 7 > 00:00:07 8 > .. > .. > > my query should return: > 00:00:10 > 00:00:20 > 00:00:30 > (etc) If I understood your problem, the only solution i found was write a simple plpgsql function (read at the end of the mail). Don't know if it is the best solution but it works ! Ciao, Federico. ------------------------------------------------------------------------ Usage : select * from timetable ('23/06/1974 18:15', '23/06/1974 20:30', '00:10'); timetable --------------------- 1974-06-23 18:15:00 1974-06-23 18:25:00 1974-06-23 18:35:00 1974-06-23 18:45:00 1974-06-23 18:55:00 ... CREATE OR REPLACE FUNCTION timetable(timestamp, timestamp, interval) RETURNS SETOF timestamp AS ' DECLARE inizio alias for $1; fine alias for $2 ; inter alias for $3; tt timestamp; BEGIN tt := inizio; while tt <= fine loop return next tt; tt:=tt+inter; end loop; RETURN ; END; ' LANGUAGE plpgsql IMMUTABLE; ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster