Tested in Build PGSQL (14300) or MSSQL (14306)
Go to Reports-New Query Report and execute this query.
PGSQL:
SELECT wo.WORKORDERID "Request ID",
aau.FIRST_NAME "Requester",
LONGTODATE(wo.createdtime) "Created Time",
LONGTODATE(wo.COMPLETEDTIME) "Completed Time",
LONGTODATE(MIN(woh.OPERATIONTIME)) "Assigned Time",
lvd.LEVELNAME AS "Level",
pd.PRIORITYNAME AS "Priority",
MAX(wo.TITLE) "Subject",
TO_CHAR(((min(woh.OPERATIONTIME)-min(wo.createdtime))/1000 || ' second')::interval, 'HH24:MI:SS') "Unassigned Time",
cast(sum(wo.TIMESPENTONREQ/1000 ) * '1 second'::interval as varchar) "Time Elapsed",
MAX(ti.FIRST_NAME) "Currently Assigned Technician" FROM WorkOrder wo
LEFT JOIN WorkOrderToDescription wotodesc ON wo.WORKORDERID=wotodesc.WORKORDERID
LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID
LEFT JOIN SDUser td ON wos.OWNERID=td.USERID LEFT JOIN AaaUser ti ON td.USERID=ti.USER_ID
LEFT JOIN WorkOrderHistory woh ON wo.WORKORDERID=woh.WORKORDERID
LEFT JOIN WorkOrderHistoryDiff wohd ON woh.HISTORYID=wohd.HISTORYID
LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID
LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID
LEFT JOIN LevelDefinition lvd ON wos.LEVELID=lvd.LEVELID
LEFT JOIN PriorityDefinition pd ON wos.PRIORITYID=pd.PRIORITYID
WHERE (wo.ISPARENT='1') AND wohd.COLUMNNAME='AssignedTime' AND wo.createdtime >= CAST(EXTRACT(EPOCH FROM TIMESTAMP '2018-09-01 00:00:00') * 1000 AS BIGINT) AND
wo.createdtime <= CAST(EXTRACT(EPOCH FROM TIMESTAMP '2018-09-30 00:00:00') * 1000 AS BIGINT) group by wo.WORKORDERID,aau.FIRST_NAME,wo.CREATEDTIME,wo.COMPLETEDTIME,wo.TIMESPENTONREQ,lvd.LEVELNAME,pd.PRIORITYNAME