Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 서버
- 미니정리
- 프로그래머스
- 오라클
- web
- 쿼리
- 스프링부트
- MySQL
- SQL
- BACK-END
- jsp
- spring
- JavaScript
- 코드 테스트
- node.js
- 스프링
- Next.js
- 데이터베이스
- jpa
- 디자인 패턴
- 자바
- oracle
- 알고리즘
- 정리
- 백엔드
- 프론트엔드
- 자바스크립트
- 프런트엔드
- 코드테스트
- java
Archives
- Today
- Total
참치코더의 꿈 메모장
Oracle / 프로그래머스 - 재구매가 일어난 상품과 회원 리스트 구하기 본문
728x90

|
1
2
3
4
5
|
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) > 1
ORDER BY USER_ID ASC, PRODUCT_ID DESC;
|
cs |
- ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여 재구매한 회원 ID와
재구매한 상품 ID를 출력하는 문제이다.
- FROM절로 참조하려는 테이블을 적어놓고(ONLINE_SALE)
- 각각의 USER_ID, PRODUCT_ID로 그룹을 만들면 해당 아이디당 어떤 상품을 구매했는지 전체 목록을
구할 수 있다. 여기서 재구매한 목록을 구하려면 HAVING조건을 걸어 COUNT(*) > 1 인 조건을 준다면
재구매한 데이터 목록을 구할 수 있다.
- 다음 SELECT절에 구할 컬럼 회원 ID, 상품 ID를 넣어주면된다.
- 마지막으로 문제에서 요구한 회원ID를 기준으로 오름차순 정렬, 회원 ID가 같다면 상품 ID를 기준으로
내림차순 정렬하도록 작성하면 문제의 정답을 구할 수 있다.

728x90
'Oracle' 카테고리의 다른 글
| Oracle / 프로그래머스 - 자동차 대여 기록에서 장기/단기 대여 구분하기 (0) | 2025.10.09 |
|---|---|
| Oracle / 프로그래머스 - 루시와 엘라 찾기 (0) | 2025.10.08 |
| Oracle / 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2025.10.05 |
| Oracle / 프로그래머스 - 고양이와 개는 몇 마리 있을까 (0) | 2025.10.02 |
| Oracle / 프로그래머스 - 과일로 만든 아이스크림 고르기 (0) | 2025.10.01 |
Comments