QueryResolvedByUser
Jump to navigation
Jump to search
Show the amount of tickets resolved by users.
-- Tickets resolved per user SELECT t.count, u.name, u.realname FROM (SELECT creator, COUNT(creator) AS count FROM transactions WHERE objecttype = 'RT::Ticket' AND type = 'Status' AND newvalue = 'resolved' GROUP BY creator) AS t LEFT JOIN users u ON t.creator = u.id;
Changed as table names are beginning with capital letters.
SELECT t.count, u.name, u.realname FROM (SELECT creator, COUNT(creator) AS count FROM Transactions WHERE objecttype = 'RT::Ticket' AND type = 'Status' AND newvalue = 'resolved' GROUP BY creator) AS t LEFT JOIN Users u ON t.creator = u.id;
-- NB: Will not work as writen on mySQL. Ended up having to do following: CREATE TEMPORARY TABLE t SELECT Creator, COUNT(Creator) as count; SELECT t.count, u.name, u.realname FROM t LEFT JOIN Users u ON t.Creator = u.id;
Alternate PHP method would be to store results into arrays and assemble at presentation layer.
- MichaelErana, CTO PC Network Inc.
Update: The above (original without using temporary table) works on MySQL 5.0.18.
- Bill R. Williams, ETSU Library Systems
--Query as above but including date range limit and total time worked (August 2, 2005)
CREATE TEMPORARY TABLE t SELECT Owner, COUNT(Owner) as count, SUM(TimeWorked)/60 AS TotalTime From Tickets where Resolved>'2005-07-01' AND Resolved<'2005-07-31' GROUP By Owner; SELECT t.count, u.realname, t.TotalTime FROM t LEFT JOIN Users u ON t.Owner = u.id GROUP by t.Owner ORDER by COUNT Desc;
NB: If you run this more than once in a session, you'll need to drop the temp table before the next run.
DROP TEMPORARY TABLE t;
- MichaelErana, CTO PC Network Inc.