Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como usar MAX() em um resultado de subconsulta?


Você não precisa da subconsulta que encontra o valor máximo.
Em vez disso,; você só precisa do primeiro linha depois de pedir as linhas:
select * from (
  select 
    membership.mem_desc,
    membership.mem_max_rentals,
    membership_history.mem_type,      
    count(membership_history.MEM_TYPE) as membership_count
  from membership_history
  JOIN membership ON membership.mem_type = membership_history.mem_type
  group by (membership_history.mem_type,membership.mem_desc,membership.mem_max_rentals)
  ORDER BY 4 DESC  -- Added this line
) g
WHERE ROWNUM = 1. -- Added this line