1. 程式人生 > >資料庫表,3個欄位,姓名,薪水,部門,用一條sql語句求每個部門薪水最高的人姓名

資料庫表,3個欄位,姓名,薪水,部門,用一條sql語句求每個部門薪水最高的人姓名

select t1.姓名 from 表 t1,
(select max(薪水) 薪水,部門 from 表 group by 部門) t2
where t1.部門=t2.部門 and t1.薪水 = t2.薪水

create table t1
(
  NAME VARCHAR2(10),
  salary  VARCHAR2(10),
  dept  VARCHAR2(10)
);
insert into t1(name,salary,dept) values('name1','100','d1');
insert into t1(name,salary,dept) values('name2','200','d1');
insert into t1(name,salary,dept) values('name3','100','d1');
insert into t1(name,salary,dept) values('name4','200','d1');
insert into t1(name,salary,dept) values('name5','100','d3');
insert into t1(name,salary,dept) values('name6','200','d3');

select t1.name
  from t1, (select max(salary) salary, dept from t1 group by dept) t2
 where t1.dept = t2.dept
   and t1.salary = t2.salary