Sql 无法根据作业获取所需的输出

Sql 无法根据作业获取所需的输出,sql,oracle,Sql,Oracle,我有一张emp表,上面有所有常规的14行。 我想写一个查询来扫描表并按以下方式返回 这意味着它将根据作业返回输出。若它第一次看到总统,它返回该行,然后扫描到下一个作业,它看到经理并返回该行,而不返回任何其他经理,以此类推。因此,对于每个新作业,它都会返回该行并传递到下一个新作业。谢谢 7839 KING PRESIDENT 17-NOV-81 5000 10 7698 BLAKE MANAGER 7839 01-MAY-81 2850

我有一张emp表,上面有所有常规的14行。 我想写一个查询来扫描表并按以下方式返回 这意味着它将根据作业返回输出。若它第一次看到总统,它返回该行,然后扫描到下一个作业,它看到经理并返回该行,而不返回任何其他经理,以此类推。因此,对于每个新作业,它都会返回该行并传递到下一个新作业。谢谢

7839    KING    PRESIDENT       17-NOV-81   5000        10
7698    BLAKE   MANAGER 7839    01-MAY-81   2850        30
7788    SCOTT   ANALYST 7566    19-APR-87   3000        20
7369    SMITH   CLERK   7902    17-DEC-80   800         20
请帮忙


谢谢

这将返回每个作业的第一人称(按姓氏字母顺序排列):

SELECT EMPLOYEE_ID,
       LAST_NAME,
       JOB_TITLE,
       MANAGER_ID,
       HIRE_DATE,
       SALARY,
       DEPARTMENT_ID
FROM   (
        SELECT e.EMPLOYEE_ID,
               e.LAST_NAME,
               j.JOB_TITLE,
               e.MANAGER_ID,
               e.HIRE_DATE,
               e.SALARY,
               e.DEPARTMENT_ID,
               ROW_NUMBER() OVER ( PARTITION BY e.JOB_ID ORDER BY e.LAST_NAME ) AS RN
        FROM   HR.EMPLOYEES e
               INNER JOIN
               HR.JOBS j
               ON ( e.JOB_ID = j.JOB_ID )
      )
WHERE RN = 1;
输出:

(我的
EMPLOYEES
表有109行……不过有19种不同的工作)


是否仅返回具有唯一作业(标题)的行?是请否最大值或最小值仅返回存储在emp表中任何orderROW\u NUMBER()中的新作业标题遇到的第一行(按e.job\u title顺序按e.LAST\u NAME划分)正如RN----按职务划分将help@Aishu
JOB\u TITLE
不在
EMPLOYEES
表中。我选择按
JOB\u ID
as进行分区,除非有两个作业具有相同的标题和不同的ID(默认情况下不是这样),否则按
JOB\u ID
进行分区将执行相同的操作,并且可能允许使用索引(该索引是
JOB\u ID
的主键,但
JOB\u title
没有)。如果你愿意的话,你可以按
JOB\u TITLE
进行分区,但我有理由考虑而没有考虑。
EMPLOYEE_ID LAST_NAME                 JOB_TITLE                           MANAGER_ID HIRE_DATE     SALARY DEPARTMENT_ID
----------- ------------------------- ----------------------------------- ---------- --------- ---------- -------------
        206 Gietz                     Public Accountant                          205 07-JUN-02       8300           110 
        205 Higgins                   Accounting Manager                         101 07-JUN-02      12008           110 
        200 Whalen                    Administration Assistant                   101 17-SEP-03       4400            10 
        100 King                      President                                      17-JUN-03      24000            90 
        102 De Haan                   Administration Vice President              100 13-JAN-01      17000            90 
        110 Chen                      Accountant                                 108 28-SEP-05       8200           100 
        108 Greenberg                 Finance Manager                            101 17-AUG-02      12008           100 
        203 Mavris                    Human Resources Representative             101 07-JUN-02       6500            40 
        105 Austin                    Programmer                                 103 25-JUN-05       4800            60 
        201 Hartstein                 Marketing Manager                          100 17-FEB-04      13000            20 
        202 Fay                       Marketing Representative                   201 17-AUG-05       6000            20 
        204 Baer                      Public Relations Representative            101 07-JUN-02      10000            70 
        116 Baida                     Purchasing Clerk                           114 24-DEC-05       2900            30 
        114 Raphaely                  Purchasing Manager                         100 07-DEC-02      11000            30 
        148 Cambrault                 Sales Manager                              100 15-OCT-07      11000            80 
        174 Abel                      Sales Representative                       149 11-MAY-04      11000            80 
        192 Bell                      Shipping Clerk                             123 04-FEB-04       4000            50 
        130 Atkinson                  Stock Clerk                                121 30-OCT-05       2800            50 
        121 Fripp                     Stock Manager                              100 10-APR-05       8200            50