Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser MAX() sur un résultat de sous-requête ?

Vous n'avez pas besoin de la sous-requête qui trouve la valeur maximale.
Au lieu de cela,; vous avez juste besoin du premier rangée après avoir commandé les lignes :

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