0

我试图只选择求和列的 MAX 值

select rental.member_id,
       rental.rental_id,
       sum(rental_line.Qty) as TotalRentals
  from Rental 
 INNER JOIN rental_line 
    on rental.rental_id =rental_line.rental_id 
where MONTHS_BETWEEN(sysdate, datein)<(12)
group by rental.member_id, 
         rental.rental_id, 
         SUM(TotalRentals) =  MAX(SUM(TotalRentals));

有任何想法吗?

4

1 回答 1

1

TotalRentals您可以按(3) 以降序对查询的结果集进行排序,然后使用rownum伪列选择第一行:

select member_id
     , rental_id
     , TotalRentals
  from ( select rental.member_id
              , rental.rental_id
              , sum(rental_line.Qty) as TotalRentals
           from Rental 
          INNER JOIN rental_line 
             on rental.rental_id =rental_line.rental_id 
          where MONTHS_BETWEEN(sysdate, datein)<(12)
          group by rental.member_id, 
                   rental.rental_id
          order by 3 desc
      ) 
where rownum = 1
于 2012-12-02T20:47:57.207 回答