Group by function not working correctly in SQL server CTE
add cast(CallStartTime as DATE) in your GROUP BY:

;with grp (Sdate,TransactionType,tot)
as
(select cast(CallStartTime as DATE)Date, Transaction_type as [Transaction type], 
(count ([Transaction_type])) as [Total Count] 
from TBL_AGENT_TRANSACTIONS 
where cast(CallStartTime as DATE)&gt;='2015-04-27' 
    and cast(CallEndTime as Date)&lt;='2015-04-27'  
    and Transaction_type in ('Debit_Card')
group by cast(CallStartTime as DATE), Transaction_type)

select grp.Sdate,grp.TransactionType,sum(grp.tot) as totalCount 
from grp 
group by TransactionType,grp.Sdate,grp.tot