I hope someone on the list can suggest a solution for me - given a table like
CREATE TABLE EVENTS( stamp date, id varchar(16), event varchar(128) );
I'm trying to find the average age of the records. I've gotten as far as:
SELECT DISTINCT ON(id) age(stamp) FROM EVENTS;
Now, I need the DISTINCT ON(id), but that means I can't simply avg() the age:
ERROR: Attribute events.id must be GROUPed or used in an
aggregate function
Can anyone suggest a solution? I could do the averaging myself,
except that the output is non-trivial to parse:
7 mons 6 10:29
2 mons 30 07:43:38
3 mons 4 09:50:56
(To be accurate, my code has to get the days in each month right,
etc., and it feels like I'm reinventing the wheel there.)
Thanks in advance for any suggestions.
-- Mike