Oracle

[Oracle] 오라클 중복 데이터 조회

DDDIDE 2024. 4. 30. 12:03
GROUP BY, HAVING 사용하기

 

ORDERS라는 주문 테이블이 있고 각 주문은 고유한 ORDER ID라는 PK를 가졌다.

동일한 고객이 여러 번 주문한 경우가 있다.

여러 번 주문한 고객을 찾기 위해선 어떻게 해야할까?

 

< ORDERS > 

ORDER_ID CUSTOMER_ID ORDER_DATE AMOUNT
1 101 2024-04-29 100.50
2 102 2024-04-28 70.50
3 103 2024-04-28 800.00
4 102 2024-04-15 120.50
5 102 2024-04-13 60.75

 

GROUP BY와 HAVING을 사용하면 된다.

 SELECT CUSTOMER_ID, COUNT(*)
  FROM ORDERS
 GROUP BY CUSTOMER_ID
HAVING COUNT(*) > 1;

 

  • GROUP BY : 데이터를 그룹화(집계)하여 그룹별 건수 및 합계 등을 조회
  • HAVING : GROUP BY한 집계 결과를 특정 조건으로 필터링하기 위해 사용 

'Oracle' 카테고리의 다른 글

[Oracle] 컬럼명으로 테이블 조회  (0) 2024.05.14