On Sun, Oct 1, 2017 at 2:17 AM, Khalil Khamlichi <khamlichi.khalil@xxxxxxxxx> wrote: > Hi everyone, > > I have a data stream of a call center application coming in to postgres in > this format : > > user_name, user_status, event_time > > 'user1', 'ready', '2017-01-01 10:00:00' > 'user1', 'talking', '2017-01-01 10:02:00' > 'user1', 'after_call', '2017-01-01 10:07:00' > 'user1', 'ready', '2017-01-01 10:08:00' > 'user1', 'talking', '2017-01-01 10:10:00' > 'user1', 'after_call', '2017-01-01 10:15:00' > 'user1', 'paused', '2017-01-01 10:20:00' > ... > ... > > so as you see each new insert of an "event" is in fact the start_time of > that event and also the end_time of the previous one so should be used to > calculate the duration of this previous one. > > What is the best way to get user_status statistics like total duration, > frequency, avg ...etc , does any body have an experience with this sort of > data streams ? Have you looked at temporal_tables extension? It seems custom made for what you're trying to do. http://clarkdave.net/2015/02/historical-records-with-postgresql-and-temporal-tables-and-sql-2011/ -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general