The following SQL written specifically for MySQL.
This shows old tickets via the comments date section, yet has a lot of duplicate data and is based off of comments, NOT when the ticket was closed. Cannot query off when the ticket was close yet, because it hasnt been being recorded by the program (this is a known bug).
I have updated the code so that an easier query can be run. I have not made the query yet
SELECT AVG(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS AvgDaysToFinish, MIN(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MinDaysToFinish, MAX(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MaxDaysToFinish FROM gradhelp_list L WHERE L.ticket_status = 'Closed';
SELECT U.name, AVG(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS AverageDaysToFinish, MIN(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MinDaysToFinish, MAX(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MaxDaysToFinish FROM gradhelp_list L, gradhelp_users U WHERE L.ticket_owner_id = U.id AND L.ticket_status = 'Closed' GROUP BY U.name
SELECT L.ticket_severity, AVG(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS AverageDaysToFinish, MIN(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MinDaysToFinish, MAX(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MaxDaysToFinish FROM gradhelp_list L WHERE L.ticket_status = 'Closed' GROUP BY L.ticket_severity
SELECT G.group_name, AVG(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS AverageDaysToFinish, MIN(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MinDaysToFinish, MAX(DATEDIFF(L.ticket_finished_date, L.ticket_added_date)) AS MaxDaysToFinish FROM gradhelp_list L, gradhelp_groups G WHERE L.groups = G.id AND L.ticket_status = 'Closed' GROUP BY G.group_name;