得到各部门工资最高员工的员工号

arraiy 2008-02-29 02:22:58
得到各部门工资最高员工的员工号

员工号 工资 部门代号
1001 1000 1
1002 1020 1
1003 3500 2
1004 3500 2
1005 3600 2

上面的表要得到下面的结果,用一个SQL语句怎么实现:

员工号 工资 部门代号
1002 1020 1
1005 3600 2
...全文
82 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sneidar 2008-05-22
  • 打赏
  • 举报
回复
我也遇到这个问题,谢谢啦
arraiy 2008-02-29
  • 打赏
  • 举报
回复
谢谢鶴嘯九天和僵哥!问题解决
fa_ge 2008-02-29
  • 打赏
  • 举报
回复
这个就可以了吧
fa_ge 2008-02-29
  • 打赏
  • 举报
回复
TO:鶴嘯九天

这种方法不行,不能按员工号和部门分组,我是要得到各部门工资最高的那个人的员工号
-------------



select 员工号 from t a
where not exists(select 1 from t where a.部门代号=部门代号 and 工资>a.工资)


僵哥 2008-02-29
  • 打赏
  • 举报
回复
select 员工号,a.工资,a.部门代号
from 工资表 as a,
(select max(工资) as 工资,部门代号
from 工资表
group by 部门代号) as b
where a.工资=b.工资 and a.部门代号=b.部门代号
僵哥 2008-02-29
  • 打赏
  • 举报
回复
select 员工号,a.工资,a.部门代号
from 工资表 as a,
(select max(工资) as 工资,部门代号
from 工资表) as b
where a.工资=b.工资 and a.部门代号=b.部门代号
arraiy 2008-02-29
  • 打赏
  • 举报
回复
TO:鶴嘯九天

这种方法不行,不能按员工号和部门分组,我是要得到各部门工资最高的那个人的员工号
ydlchina 2008-02-29
  • 打赏
  • 举报
回复
select 员工号,部门,max(工资) as 最高工资 group by 部门,员工号
fa_ge 2008-02-29
  • 打赏
  • 举报
回复

select 员工号, max(工资)as '工资' ,部门代号
from t
group by 员工号,部门代号

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧