top 3 branch name using oracle query

Jun 21 2014 3:41 AM
SELECT T.*,S.* FROM ( Select TD.category_name,TD.branch_name,TM.created_date,TM.user_id,TD.order_details_id,TD.branch_id From tbl_orderdetails TD Inner Join tbl_ordermaster TM ON TD.order_master_id = TM.ordermasterid Where TM.user_id='12' ) T Inner Join ( SELECT M.branch_name,Max(M.No_Of_Branch) FROM ( Select T1.branch_name,Count(T1.branch_name) As No_Of_Branch From tbl_orderdetails T1 Inner Join tbl_ordermaster T2 ON T1.order_master_id = T2.ordermasterid Where T2.user_id='12' Group By T1.branch_name ) M Group By M.branch_name ) S On S.branch_name = T.branch_namei want only max number of times the branch name came and top 3 to be displayed . for eg vellore=100 ,chennai=18,tvl=80,harithuwar=90 vellore harithwar tvl should only display