sql 甲骨文最大(总和)

sql oracle max(sum)

我正在尝试在 Oracle 中编写一个查询,它将 return 最大值。我有 3 个表 Employee, customer , orders.

SELECT a.ID_Employee, a.NAME, a.SURNAME, SUM(c.value) AS "value"  FROM Employee a, CUSTOMER b, ORDERS c WHERE a.ID_Employee = b.ID_Employee and b.ID_CUSTOMER = c.ID_CUSTOMER group by a.ID_Employee, a.NAME, a.SURNAME ;

提问结果:

id_Employess Name  Surname  Value
7654         KENNETH MARTIN 27348
7555         DANIEL PETERS  11060
7820         PAUL   ROSS    20796,8
7844         MARY   TURNER  58055,9
7560         SARAH  DUNCAN  36191,2
7521         CYNTHIA WARD   9984,2
7499         KEVIN  ALLEN   7870,8
7789         LIVIA  WEST    32274,2
7557         KAREN  SHAW    33655,65

我需要这个结果的最大值应该是:

id_Employess Name  Surname  Value
7844         MARY   TURNER  58055,9

可能是这个查询

select *  
from 
        (SELECT 
        a.ID_Employee
        , a.NAME
        , a.SURNAME
        , SUM(c.value) AS "value"  
        FROM Employee a, CUSTOMER b, ORDERS c 
        WHERE a.ID_Employee = b.ID_Employee 
        and b.ID_CUSTOMER = c.ID_CUSTOMER 
        group by a.ID_Employee, a.NAME, a.SURNAME ) 
 where  value  =   (SELECT  SUM(c.value)  
        FROM Employee a, CUSTOMER b, ORDERS c 
        WHERE a.ID_Employee = b.ID_Employee 
        and b.ID_CUSTOMER = c.ID_CUSTOMER 
        group by a.ID_Employee, a.NAME, a.SURNAME ); 

只需在 order by

之后使用 rownum
  select * from (
        select ID_Employee, NAME, SURNAME, value, rownum rn
         from (
        SELECT a.ID_Employee, a.NAME, a.SURNAME, SUM(c.value) AS "value"  
          FROM Employee a, CUSTOMER b, ORDERS c 
         WHERE a.ID_Employee = b.ID_Employee and b.ID_CUSTOMER = c.ID_CUSTOMER  
         group by a.ID_Employee, a.NAME, a.SURNAME 
         order by 4 desc
        )
    ) where rn = 1