日期:2014-05-19  浏览次数:20501 次

急了,再不搞定,怕要被炒了!小弟,在线等,求一条SQL语句
有个表,表里格式如下
---------------------------------------------------
姓名|帐号|工作时间|工作次数|
-----------------------------------------------
a       |   1     |   2             |   1
b       |   2     |   4             |   1
c       |   3     |   3             |   1
a       |   1     |   3             |   2
a       |   1     |   2             |   3
b       |   2     |   4             !   2
c       |   3     |   3             |   2
像这样,我要生成另一个表工作次数去最大的,比如  
a     |   1     |   2             |   1
a       |   1     |   2             |   2
a       |   1     |   2             |   3
只取次数最大的3,即为a       |   1     |   2             |   3
那位大哥帮帮小弟,先谢谢了



------解决方案--------------------
select 姓名,帐号=(select 帐号 from 表 where 姓名=t.姓名 and 工作次数=t.工作次数),
工作时间=(select 工作时间 from 表 where 姓名=t.姓名 and 工作次数=t.工作次数),工作次数=max(工作次数) from 表 t group by 姓名

------解决方案--------------------
select *
from yourTable a
where 工作次数=(select max(工作次数) from yourTable where 姓名=a.姓名)