Ok, well this is a pretty big query however it does a little more than you are asking for. You should be able to reduce it back without too much trouble.SELECT TIC.number AS TicketNumber,CDATA.subject AS Subject,DEPT.name AS Department,USER.name AS UsersName,UACC.username AS UsersUsername,STAFF.firstname AS StaffFirstname,STAFF.lastname AS StaffSurname,STAFF.username AS StaffUsername,TIC.source AS Source,TIC.ip_address AS IPAddress,TIC.created AS Created,TIC.closed AS Closed,MIN(ENTRY.created) AS FirstResponse,TIMEDIFF(ENTRY.created,TIC.created) as ResponseTime,TIMEDIFF(TIC.closed,ENTRY.created) AS ServiceTime,ENTRY.created as FirstResponseDate, ENTRY.body as FirstResponseContentsFROM `ost_ticket` TICJOIN `ost_ticket__cdata` CDATA ON TIC.ticket_id=CDATA.ticket_idJOIN `ost_user` USER ON TIC.user_id=USER.idJOIN `ost_department` DEPT ON TIC.dept_id=DEPT.idJOIN `ost_staff` STAFF ON TIC.staff_id=STAFF.staff_idLEFT JOIN `ost_user_account` UACC ON TIC.user_id=UACC.user_idLEFT JOIN `ost_thread` THREAD ON THREAD.object_type = 'T' AND TIC.ticket_id=THREAD.object_idLEFT JOIN `ost_thread_entry` ENTRY on ENTRY.type = 'R' AND THREAD.id=ENTRY.thread_idWHERE TIC.closed IS NOT NULLAND ENTRY.id IS NOT NULLAND TIC.status_id = 3AND TIC.closed >= (DATE(NOW()) - INTERVAL 14 DAY)GROUP BY ENTRY.Thread_idORDER BY DEPT.name, TIC.number DESCThis query is looking for all tickets closed in the last 14 days, and pulling together all the details in the associated user, department, and staff tables in order to have those details. These are all joined by id numbers. Next, it left joins tables including thread and thread_entries so you have every thread and every thread entry for each ticket. It then groups those and then using MIN(ENTRY.created) reduces this back to only the oldest thread entry which is the first response by an agent.You can likely tell from the other fields I was looking to create a report which lists all closed tickets, the time between the ticket opening and the first response by an agent (called response time here) and then the time between that and the closing date (called service time here).Unfortunately, we had too many tickets closed in which the agents never sent any email to the user so these tickets were not showing up on this report.I changed my approach to make the system record when a ticket is assigned (even if an auto assignment) and instead I generate a report which lists the time between ticket creation and ticket assignment as a response time, then the time between assignment and closing as the response time.Hopefully, my earlier query above is still of some use to you :)You should be able to edit the WHERE clause so it only looks for a specific user id and isn't restricted to a date range or only looking at closed tickets.Cheers.