Oracle 15 GROUP BY ~ HAVING , PARTITION BY ~
2023. 10. 10. 16:05ㆍdatabase
실습 tbl_buy 테이블 생성
외래키 : USERID 생성
tbl_user테이블과 tbl_buy 테이블의 관계
tbl_user 테이블은 이전 실습에서 생성했다.
group by USERID - USERID 별로 묶었다
SUM(속성명) group by USERID -> USERID 별로 묶어 각 USERID 마다 모든 AMOUNT 속성의 데이터를 더한다
COUNT(속성명) group by USERID -> USERID 별로 묶고 각 USERID 마다 USERID 속성의 갯수를 출력한다
실습 GROUP BY 속성 HAVING 조건
partition by 실습
group by 속성명 - 중복이 제거되고 USERID별로 1개가 출력된다
partition by 는 group by와 달리 모든 USERID 항목을 다 볼 수 있다
GROUP BY 속성으로 묶으면 prodname 같은 속성이 있으면 error가 발생하지만
PARTITION BY 속성으로 묶으면 prodname 같은 속성을 출력해도 error가 없고 prodname 데이터가 출력된다
distinct 키워드로 중복 제거
※ 시행착오 - distinct 키워드를 속성 앞에 쓰고 PRODNAME 같은 USERID 외 다른 속성이 없어야 중복이 제거된다
distinct 키워드를 속성 앞에 쓰고 PRODNAME 같은 USERID 외 다른 속성이 있으면 error는 없고 출력은 되지만 중복되는 데이터가 제거되지 않는다.
실습 - PARTITION BY ~ 로 총구매금액이 1000을 넘는 사용자를 출력한다
실습 - GROUP BY 로 제조사별로 평균가격 구하기
TO_CHAR()로 숫자를 천 단위마다 콤마 찍기
'database' 카테고리의 다른 글
Oracle 17 LEFT JOIN, RIGHT JOIN, SELF JOIN (0) | 2023.10.11 |
---|---|
Oracle 16 JOIN 개념, INNER JOIN 실습, 3개 테이블 조인 (1) | 2023.10.11 |
Oracle 14 키, 정규화 (0) | 2023.10.10 |
Oracle 13 LEAST(), GREATEST(), DECODE(), DUMP(), SYS_CONTEXT() (0) | 2023.10.10 |
Oracle 01 - 2 sql developer 설치 , JSP 실습 계정 생성 , 윈도우 사용자 바꾸기 (0) | 2023.10.08 |