Hi LithiumKid1976,
The report below should get you in the right direction.
Select Top 1000000 TicketClosures.Year,
htblusers.name As Agent,
TicketClosures.ticketid,
ticketClosures.typename
From (Select Distinct Top 1000000 htblhistory.ticketid,
htblhistory.userid,
htbltickettypes.typename,
DatePart(yyyy, htblhistory.date) As Year,
DatePart(mm, htblhistory.date) As Month,
DatePart(dd, htblhistory.date) As Day
From htblhistory
Inner Join htblhistorytypes On htblhistorytypes.typeid =
htblhistory.typeid
Inner Join htblticketstates On htblticketstates.ticketstateid =
htblhistory.ticketstateid
inner join htbltickettypes on htbltickettypes.tickettypeid = htblhistory.tickettypeid
Where htblticketstates.statename = 'Closed') TicketClosures
Inner Join htblticket On htblticket.ticketid = TicketClosures.ticketid
Inner Join htblusers On htblusers.userid = TicketClosures.userid
Where TicketClosures.Year = 2019 And htblticket.spam <> 'True'
Order By htblusers.name Desc