关于分组查询的sql语句求解
我的表及数据如下: 
 id            mc               zw 
 1               张三         科长 
 2               张三         科长 
 3               张三         科长 
 4               张三         科长 
 5               张三         科长 
 6               张三         科长 
 7               张三         科长 
 8               张三         科长 
 9               李四         科员 
 10            李四         科员 
 11            李四         科员 
 12            明明         科员 
 13            明明         科员 
 14            明明         科员 
 15            明明         科员 
 16            明明         科员 
 17            明明         科员 
 18            红红         副科长   
 其中有8行数据是张三,6行数据是明明,3行数据是李四,1行数据是红红 
 请问如何找到有最多行数的前两位,就是张三以及明明的所有数据。要求最后结果如下: 
 id            mc               zw 
 1               张三         科长 
 2               张三         科长 
 3               张三         科长 
 4               张三         科长 
 5               张三         科长 
 6               张三         科长 
 7               张三         科长 
 8               张三         科长 
 12            明明         科员 
 13            明明         科员 
 14            明明         科员 
 15            明明         科员 
 16            明明         科员 
 17            明明         科员
------解决方案--------------------不对 
 select * from [Table] where mc in 
 (select mc from 
 (select top 2 mc,count(1)  from [Table] group by mc order by count(1) desc) a 
 )
------解决方案--------------------set nocount on 
 declare @a table(id int,F1 varchar(10), F2 varchar(10)) 
 insert @a select 1 , '张三 ', ' 科长 ' 
 union all select 2 , '张三 ',  '科长 ' 
 union all select 3 , '张三 ',  '科长 ' 
 union all select 4 , '张三 ',  '科长 ' 
 union all select 5 , '张三 ',  '科长 ' 
 union all select 6 , '张三 ',  '科长 ' 
 union all select 7 , '张三 ',  '科长 ' 
 union all select 8 , '张三 ',  '科长 ' 
 union all select 9 , '李四 ',  '科员 ' 
 union all select 10 , '李四 ',  '科员 ' 
 union all select 11 , '李四 ',  '科员 ' 
 union all select 12 , '明明 ',  '科员 ' 
 union all select 13 , '明明 ',  '科员 ' 
 union all select 14 , '明明 ',  '科员 ' 
 union all select 15 , '明明 ',  '科员 ' 
 union all select 16 , '明明 ',  '科员 ' 
 union all selec