MySQL查询获取数据

MySQL查询获取数据,mysql,Mysql,我有一张桌子 objectId | DeptID | workDate | percentage ----------------------------------------------------------- 1 1 06/07/16 10:10:10 10% 2 1 07/07/16 11:11:10 20% 3 2 06/07/16 0

我有一张桌子

objectId |   DeptID   |       workDate       |  percentage
-----------------------------------------------------------
1       1           06/07/16 10:10:10      10%
2       1           07/07/16 11:11:10      20%
3       2           06/07/16 09:10:10      5%
4       2           07/07/16 08:10:10      3%
5       3           06/07/16 10:10:10      15%
6       4           07/07/16 11:10:10      20%
您能帮我找到一个sql查询来获取条件吗, 若我给输入2,那个么结果查询应该返回前4行,这意味着2个部门

预期产出:

objectId |   DeptID   |       workDate       |  percentage
-----------------------------------------------------------
1       1           06/07/16 10:10:10      10%
2       1           07/07/16 11:11:10      20%
3       2           06/07/16 09:10:10      5%
4       2           07/07/16 08:10:10      3%
objectId |   DeptID   |       workDate       |  percentage
----------------------------------------------------------
1       1           06/07/16 10:10:10      10%
2       1           07/07/16 11:11:10      20%
3       2           06/07/16 09:10:10      5%
4       2           07/07/16 08:10:10      3%
5       3           06/07/16 10:10:10      15%
6       4           07/07/16 11:10:10      20%
若我给输入4,那个么结果查询应该返回前4行,这意味着4个部门

预期产出:

objectId |   DeptID   |       workDate       |  percentage
-----------------------------------------------------------
1       1           06/07/16 10:10:10      10%
2       1           07/07/16 11:11:10      20%
3       2           06/07/16 09:10:10      5%
4       2           07/07/16 08:10:10      3%
objectId |   DeptID   |       workDate       |  percentage
----------------------------------------------------------
1       1           06/07/16 10:10:10      10%
2       1           07/07/16 11:11:10      20%
3       2           06/07/16 09:10:10      5%
4       2           07/07/16 08:10:10      3%
5       3           06/07/16 10:10:10      15%
6       4           07/07/16 11:10:10      20%

非常感谢。

您似乎总是从第一个id开始,并且DEPTID可以方便地分组,所以也许这样就可以了

drop table if exists t;
create table t(id int auto_increment primary key, deptid int);

insert into t (deptid) values
(1),(1),(2),(2),(3),(4);

select id,deptid
from
(
select t.id,t.deptid,s.maxid,s.rn
from t
join
(
select deptid, max(id) maxid,@rn:=@rn+1 rn
from t,(Select @rn:=0) r
group by deptid
) s
on s.deptid = t.deptid
) u
where u.rn <= 2;