문제 설명
풀이 방법
더보기
1. USER_ID 와 PRODUCT_ID 그룹화 : GROUP BY
2. 그룹에 대한 조건 : HAVING
3. 정렬 : ORDER BY, DESC(내림차순)
풀이 쿼리
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING count(*) >= 2
ORDER BY USER_ID, PRODUCR_ID DESC
풀이 쿼리 설명
GROUP BY USER_ID, PRODUCT_ID
Group By 절은 사용자 ID 와 제품 ID 로 결과를 그룹화 합니다. 이렇게 하면 사용자가 동일한 제품을 여러번 구매한 경우에도 하나의 그룹으로 간주됩니다.
HAVING count(*) >= 2
HAVING 절은 그룹화된 결과에 대한 조건을 지정합니다. 여기서는 각 그룹(사용자 및 제품) 에 대한 레코드 수가 2 이상인 경우만 선택이 됩니다. 이는 즉 사용자가 특정 제품을 두 번 이상 구매한 경우를 필터리하는 조건입니다.
ORDER BY USER_ID, PRODUCT_ID DESC
결과를 정렬합니다. 여기서는 사용자 ID를 기준으로 먼저 정렬하고, 동일한 사용자의 경우에는 제품 ID를 내림차순으로 정렬합니다.
'알고리즘 > SQL' 카테고리의 다른 글
[SQL] 다양한 SQL 함수 (0) | 2024.01.06 |
---|---|
[SQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (3) | 2024.01.05 |
[SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.12.30 |
[SQL] 상품 별 오프라인 매출 구하기 (0) | 2023.12.29 |
[SQL] 평균 일일 대여 요금 구하기 (0) | 2023.12.28 |