티스토리 뷰

Database/Oracle

[오라클] 재밌는 퀴즈 1

데브포유 2009. 4. 16. 17:23
반응형

Q. 제품 거래 테이블에서 특정기간 동안 일별 거래액이 가장큰 상품 1개를 상품명과 출력하기? 상품명은 스칼라쿼리를 쓰거나 join하면 되므로 일단 상품코드라도 나오게 할것.

거래T
 거래일자  상품코드   상품금액 
 20090401 100 
 20090401 200
 20090402 150 



>> 출력예제
 20090401 b 200
 20090402 a 150







<< 많은 답중의 하나 >>
select *
from
(
select
    a.*, row_number() over(partition by 거래일자 order by 가격 desc) rn
from
(
 select 거래일자, 상품코드, sum(상품가격) '가격'
 from 거래T
 where 거래일자 between '20090401' and '20090402'
 group by 거래일자, 상품코드
 order by 가격 desc
)a
)
where rn = 1

## 위 방법말고 더 좋은 방법을 알고 계시면 리플 달아 주세요.



반응형