Solved

my average waiting time question?

Posted on 2006-11-13
3
271 Views
Last Modified: 2013-12-24
I have a support system written in ColdFusion and now would like to generate a report using some of data I have in the backend database.

I need to output the average waiting time this month for my tickets

In my database each ticket has a time and date,  i need to know how i would pull these and work out this..

so example data in my database would be

ticketID          datetime
1                   Nov 13 2006 5:05PM
1                   Nov 13 2006 5:05PM
1                   Nov 13 2006 5:05PM
1                   Nov 13 2006 5:05PM
2                   Nov 13 2006 5:05PM
2                   Nov 13 2006 5:05PM
3                   Nov 13 2006 5:05PM
3                   Nov 13 2006 5:05PM

1) i first need to  get  all tickets out of the database, take the first datetime for each ticket.
2) then i need to get the second datetime for each ticket (if it has one) as this is the first time the ticket was responded to, all datetimes after that for that ticket does not matter.

we now have all the start datetime of the each ticket and all the first post (the response) of all tickets

3) i then need to work out the average waiting time per month based on the set of data i have for all the tickets

can you see now why i am so confused? after all that i would like to maybe use the new cfchart to present my data?

is any of this possible and could anyone give me a hand understand this?


0
Comment
Question by:pigmentarts
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
danrosenthal earned 500 total points
ID: 17935010
Here is an idea...

select t.ticketID
      , MIN(t.[datetime]) as firstdate
      ,(
            select TOP 1 [datetime]
            FROM ticket
            WHERE ticketID = t.ticketID
            AND [datetime] <> MIN(t.[datetime])
            ORDER BY [datetime]
      ) AS seconddate
      ,
CAST(
      (
            (
                  select TOP 1 [datetime]
                  FROM ticket
                  WHERE ticketID = t.ticketID
                  AND [datetime] <> MIN(t.[datetime])
                  ORDER BY [datetime]
            )
            - MIN(t.[datetime])
      )
      AS float
) AS waittime
INTO #temp
from ticket t
GROUP BY t.ticketID

select avg(waittime) FROM #temp





0
 
LVL 12

Author Comment

by:pigmentarts
ID: 17936799
cool, i used you example above, just one last question, possible to exstend this a bit and only output the avg for this month i.e. only show the waiting time for the current month?

<cfquery name="getDomain" datasource="#dbSource#" username="#dbUsername#" password="#dbPassword#">



select t.ticketID
     , MIN(t.[datetime]) as firstdate
     ,(
          select TOP 1 [datetime]
          FROM issues
          WHERE ticketID = t.ticketID
          AND [datetime] <> MIN(t.[datetime])
          ORDER BY [datetime]
     ) AS seconddate
     ,
CAST(
     (
          (
               select TOP 1 [datetime]
               FROM issues
               WHERE ticketID = t.ticketID
               AND [datetime] <> MIN(t.[datetime])
               ORDER BY [datetime]
          )
          - MIN(t.[datetime])
     )
     AS float
) AS waittime
INTO temp
from issues t
GROUP BY t.ticketID


</cfquery>


<cfquery name="getavg" datasource="#dbSource#" username="#dbUsername#" password="#dbPassword#">
select avg(waittime) AS wtime  FROM temp WHERE waittime IS NOT NULL
</cfquery>

<cfoutput query="getavg">
#wtime#
</cfoutput>
0
 
LVL 12

Author Comment

by:pigmentarts
ID: 17936983
sorry done that, thanks
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction This article explores the design of a cache system that can improve the performance of a web site or web application.  The assumption is that the web site has many more “read” operations than “write” operations (this is commonly the ca…
If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question