I hope you have some custom field created on Case object to store who closed the case. If yes, Please check the code below. else I will also send you screen shot of the workflow rule which updates a custom field with logged-in user's firstname and lastname when case is closed. <!--- Class Code ---> /** @ Author : Sourabh Yerawar @ Purpose : 1] Controls the page --> ClosedCases 2] Fetches list of closed cases along with details. */ public with sharing class ClosedCasesController { public List<AggregateResult> listOfClosedCases { get; set; } public ClosedCasesController() { initializePage(); } private void initializePage() { listOfClosedCases = getClosedCases(); } private List<AggregateResult> getClosedCases() { List<AggregateResult> listOfClosedCases = new List<AggregateResult>(); try { listOfClosedCases = [ SELECT Case_Closed_By__c, Type, COUNT(Id) numberOfClosedCases FROM Case WHERE isClosed = TRUE Group BY Case_Closed_By__c, Type ]; } catch( Exception e ) { displayMessageFromException( e ); } return listOfClosedCases; } /* @ Purpose : Fetches and displays an exception message. @ Parameter : Exception. @ Return Type : String [ Details of the exception ]. */ public static String displayMessageFromException( Exception e ) { String strErrorMessage = '\nError Message:-{0}\nError LineNumber:-{1}'; List<String> listOfMessageTokens = new List<String>{ e.getMessage(), String.valueOf( e.getLineNumber() ) }; strErrorMessage = String.format(strErrorMessage, listOfMessageTokens); system.debug(strErrorMessage); return strErrorMessage; } } <!-- Page Code ---> <!-- @ Author : Sourabh Yerawar @ Purpose : Displays list of closed cases along with details. @ Page Name : ClosedCases --> <apex:page controller="ClosedCasesController" showHeader="False" sidebar="False" standardStylesheets="True"> <apex:form > <apex:pageBlock title="Closed Cases"> <apex:pageBlockTable value="{! listOfClosedCases }" var="recordCase"> <apex:column > <apex:outputText value="{! recordCase[ 'Case_Closed_By__c' ] }"/> <apex:facet name="header">Case Closed By </apex:facet> </apex:column> <apex:column > <apex:outputText value="{! recordCase[ 'Type' ] }"/> <apex:facet name="header">Case Type </apex:facet> </apex:column> <apex:column > <apex:outputText value="{! recordCase[ 'numberOfClosedCases' ] }"/> <apex:facet name="header">Number Of Closed Cases </apex:facet> </apex:column> </apex:pageBlockTable> </apex:pageBlock> </apex:form> </apex:page> [![enter image description here][1]][1] [1]: https://i.sstatic.net/rXYnq.png