안녕하세요..
DB 쿼리를 짜는데 잘 안되네요..T.T
다음과 같은 Order 테이블이 있습니다.
=================================================================
order_id user_id order_date product
1 A 2010-04-22 03:11 연필
2 A 2010-04-22 05:22 책
3 A 2010-04-23 05:22 지우개
4 B 2010-04-22 03:22 연필
5 B 2010-04-23 03:22 지우개
==================================================================
이 중에서 각 사용자가 22일 주문한 첫번째 상품을 조회하려고 합니다.
결과
A 연필
B 연필
쿼리를 이렇게 구성했습니다.
select user_id, product
from order
where order_id in ( select min(order_id) from order where order_date>'2010-04-22 00:00:00' and order_date < '2010-04-23 00:00:00' group by user_id )
제 생각에는 서브 쿼리가 메인 쿼리와 연관 관계가 딱히 없는 것 같은데
explain을 하게 되면 Dependent subquery로 나오며, 수행 속도가 상당히 오래 걸립니다.
해결 방안이 없을까요? |