On Mon, Aug 13, 2012 at 5:53 PM, Andrew Sullivan <a...@crankycanuck.ca>wrote:

> On Mon, Aug 13, 2012 at 05:28:24PM -0700, Carey Tilden wrote:
>
> > how to solve it.  I have a list of program start/stop times, and I want
> to
> > know how long each run takes to complete.  The thing that's really
> tripping
> > me up is there are gaps in the sequence.  I've figured out how to
> collapse
> > the results down to a single row per attempt, but I can't quite figure
> out
> > how to further collapse down each full run to its own row.  It'd be easy
> if
> > I had a session_id or something to group on, but I don't.  All I have are
> > the start/stop times.
>
> Looking at your data and the sample output you provided, it would
> appear that the "real" start time of a program is always the one that
> is started _after_ a completion (or else it's the very first start).
> In other words, it's never the case that a "start" in the program_runs data
> is the start of a new run when an existing, previously-started run
> hasn't completed.
>
> Is that right?  If so, then you ought to be able to use windowing
> functions.  For each completion, pick the earliest start before it that is
> _after_ a completion or, if there is no such completion, is the very
> first record.  See the discussion of windowing functions in the manual
> for how to do this.
>

That's right, but I'm not simply trying to see how long it's been between
the "real" start and the "real" end.  I want to exclude the gaps between
runs.  I'm looking for how many minutes it spent actually processing.

Carey

Reply via email to