문제
두 번째 구매를 이전 구매 후 7일 이내에 한 사용자를 찾아서 반환하는 활성 사용자 목록을 식별하세요. 이 사용자들의 user_id 목록을 출력하세요.
테이블설명
예상결과
✏️ 풀이
SELECT DISTINCT a1.user_id
FROM amazon_transactions AS a1
JOIN amazon_transactions AS a2 ON a1.user_id = a2.user_id AND a1.id <> a2.id
AND DATEDIFF(a2.created_at, a1.created_at) BETWEEN 0 AND 7
ORDER BY a1.user_id;
1. amazon_transactions 테이블 조인
2. 같은 사용자들의 다른 주문건으로 조인해야하기 때문에 user_id는 같고 id는 다른 조건으로 조인
3. "DATEDIFF(a2.created_at, a1.created_at) BETWEEN 0 AND 7" 주문 날짜의 차이가 7일 이내인 것을 찾는 조건 추가
'[코딩테스트] > [SQL]' 카테고리의 다른 글
[StrataScratch - SQL] (Medium) Risky Projects (0) | 2025.05.08 |
---|---|
[StrataScratch - SQL] (Medium) New Products (0) | 2025.05.08 |
[StrataScratch - SQL] (Medium) Activity Rank (0) | 2025.05.05 |
[StrataScratch - SQL] (Medium) Users By Average Session Time (0) | 2025.05.05 |
[StrataScratch - SQL] (Easy) Unique Users Per Client Per Month (0) | 2025.05.02 |