【发布时间】:2018-12-15 06:04:55
【问题描述】:
我正在尝试获得一个新视图,我可以在其中显示每家商店中薪酬最高的员工的一条记录。
输出(期望) 显示每个商店中薪酬最高的员工 STORE_ID - 1 没有员工,因此不在报告中
ENAME JOB STORE_ID MAX(SAL) CITY
ALLEN SALESMAN 2 1600 New York City
KING PRESIDENT 3 5000 Chicago
SCOTT ANALYST 4 3000 Philadelphia
实际输出
ENAME JOB STORE_ID MAX(SAL) CITY
ALLEN SALESMAN 2 1600 New York City
TURNER SALESMAN 2 1500 New York City
WARD SALESMAN 2 1250 New York City
MARTIN SALESMAN 2 1250 New York City
KING PRESIDENT 3 5000 Chicago
BLAKE MANAGER 3 2850 Chicago
CLARK MANAGER 3 2450 Chicago
SCOTT ANALYST 4 3000 Philadelphia
FORD ANALYST 4 3000 Philadelphia
JONES MANAGER 4 2975 Philadelphia
MILLER CLERK 4 1300 Philadelphia
ADAMS CLERK 4 1100 Philadelphia
JAMES CLERK 4 950 Philadelphia
SMITH CLERK 4 800 Philadelphia
我只能使用 SELECT、GROUP BY、HAVING、ORDER BY、INNER JOIN(或其他类型的 JOINS)。我不能使用分区,WITH
此查询确实生成了必要的行,但它包含其他所有行(除了最高收入的行)
商店的 DDL
CREATE TABLE "STORES"
( "STORE_ID" NUMBER NOT NULL ENABLE,
"CITY" VARCHAR2(50),
PRIMARY KEY ("STORE_ID")
USING INDEX ENABLE
)
/
员工的 DDL
CREATE TABLE "EMPLOYEES"
( "EMPNO" NUMBER(4,0),
"ENAME" VARCHAR2(10),
"JOB" VARCHAR2(9),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"STORE_ID" NUMBER
)
/
CREATE INDEX "EMP_NAME_IDEX" ON "EMPLOYEES" ("ENAME")
/
CREATE INDEX "EMP_NAME_JOB_DATE_IDX" ON "EMPLOYEES" ("ENAME", "JOB", "HIREDATE")
/
第一个问题是关于糟糕的 SQL 语法。这个正在尝试找到每个商店中薪水最高的员工
【问题讨论】:
-
分享你写的查询
-
“我正在尝试获得一个新视图,在该视图中可以显示每个商店中薪酬最高的员工的记录。”是上一个问题的摘录。
-
您能分享产生该结果的查询吗?