SELECT ci.name as Category, si.name as Product, count(r.softwareid) as 'Count' FROM requests r inner join software_information si on si.softwareid = r.softwareid inner join category_information ci on ci.categoryid = r.categoryid inner join tracking_information ti on r.ipaddress = ti.ipaddress WHERE r.requestdate between '2006-05-01' and '2006-05-30' group by si.name, ci.name ORDER BY ci.name, si.name