how to caluculate average of duration(starttime-endtime)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • to1234
    New Member
    • May 2012
    • 1

    how to caluculate average of duration(starttime-endtime)

    Code:
    create table #ExamDur(DtTm datetime,startTm datetime,EndTm datetime,Duration int,duration1 varchar(20))
    insert into #ExamDur(DtTm,startTm,EndTm,Duration,duration1)
    select UE.CreatedDtTm,ED.StartTime,ED.EndTime,
    datediff(mi,ed.starttime,ed.endtime) duration ,
    cast(datediff(mi,ED.StartTime,ED.EndTime)as varchar(20))+':'+
    cast(DATEPART(SECOND,(ed.EndTime-ed.StartTime) )as varchar(20)) Duration1 
     from UserExamMap UE left join  ExamDuration ED on UE.Id=ED.ExamId where UE.UserId=1--@UserID
    
    
    select p.Sno SNo,p.dt Date,p.chapter Chapter,p.chpaterid ChapterID,p.userid UserID,p.topic Topic,p.marks Marks
    ,p.percentage Percentage,cast(datepart(HOUR,ED.Duration1) as varchar(10))+':'+cast(datepart(MINUTE,ed.duration1)as varchar(10)) ExamDuration1 from #ExamDur ED inner join #Practice p on p.dt=ED.DtTm order by p.Sno
    
    select Duration AvgTmSpent from #ExamDur
    
    end
    Last edited by Rabbit; May 3 '12, 03:33 PM. Reason: Please use code tags when posting code.
  • Rabbit
    Recognized Expert MVP
    • Jan 2007
    • 12517

    #2
    Please use code tags when posting code.

    To calculate the average duration, I would use DATEDIFF to get the number of seconds between the two date times and use an aggregate query to calculate the average.

    Comment

    Working...