请问查询每一个部门中的第一个员工,Sql语句怎么写?

员工按其ID自然排序,取每个部门中的员工ID最小的人员姓名!员工表emp:eID,eName,DepID部门表dept:DeptID,dName... 员工按其ID自然排序,取每个部门中的员工ID最小的人员姓名!
员工表 emp:eID,eName,DepID
部门表 dept:DeptID,dName
展开
 我来答
百度网友801b91b
2011-05-24 · TA获得超过8071个赞
知道大有可为答主
回答量:1152
采纳率:100%
帮助的人:1681万
展开全部
create table emp
(eid int identity(1,1),
eName varchar(10),
DepID int
)
insert into emp
select '张三',1 union
select '李四',1 union
select '王五',2 union
select '赵六',1 union
select '刘七',3 union
select '邹八',2 union
select '鲁九',2 union
select '周十',3

create table dept
(DeptID int identity(1,1),
dName varchar(10)
)

insert into dept
select '研发部' union
select '产品部' union
select '人事部'
________________(以上是建表和数据的代码,如果你有,你可以忽略)________________
其实一个表就可以了。

select * from emp
where
(select count(1) from emp a where a.DepID=emp.DepID and emp.eid>a.eid)<1
结果:
eID,eName,DepID
1 李四 1
2 刘七 3
3 鲁九 2

具体原理可参看我空 间的文章
SQL分类下的《取得分组TOP-N测试表与测试数据》
追问
(select count(1) from emp a where a.DepID=emp.DepID and emp.eid>a.eida.eid 返回的结果是什么?这语句确实看不懂!谢谢您的回复!
追答
你运行一下这个语句就明白了。我说过可以去我空间看的。

select *,(select count(1) from emp b where emp.DepID=b.DepID and emp.eid>b.eid ) as '同部门比此ID大的员工数量' from emp
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bdb9803
2011-05-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
select top 1 form ....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
酒瓶里的蚊子
2011-05-24 · TA获得超过622个赞
知道小有建树答主
回答量:629
采纳率:0%
帮助的人:776万
展开全部
SELECT eID,eName FROM emp
INNER JOIN
(
SELECT min(eID) as minEID,DepID from emp
GROUP BY DepID
) t1
ON emp.eID = t1.minEID
追问
请问语句 “SELECT min(eID) as minEID,DepID from emp GROUP BY DepID  ”的返回结果是什么? 再给咱详细解析一下各条子查询的意思!谢谢!
追答
SELECT min(eID) as minEID,DepID from emp GROUP BY DepID  
返回的结果表(命名为t1)中包含两个字段:
DepID :部门ID
minEID:该部门各员工的最小ID
在t1中,只有员工的ID,没有员工的姓名,所以要把t1与员工表emp来结合起来再查询一次,连接的条件为:emp.eID = t1.minEID ,这样就得到了你想要的结果。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wokao_wg
2011-05-24 · TA获得超过107个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:80万
展开全部
楼上正解。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式