SELECT stkno as st,sum((if(status='Done',1,0)) as done,sum((if(status='inprocess',1,0)) as inprocess,sum((if(status='pending',1,0)) as pendingfrom partners_downloads pdgroup by stknoorder by done descSELECT DISTINCT stkno as st, (SELECT COUNT(`stkno`) FROM partners_downloads WHERE `status` = 'Done' AND stkno = st GROUP BY stkno) as `done`, (SELECT COUNT(`stkno`) FROM partners_downloads WHERE `status` = 'InProcess' AND stkno = st GROUP BY stkno) as `inprocess`, (SELECT COUNT(`stkno`) FROM partners_downloads WHERE `status` = 'Pending' AND stkno = st GROUP BY stkno) as `pending`FROM partners_downloads pd ORDER BY `done` DESC