필요 데이터 :
데이터 모두 classicmodels.dataset2
상품의 소분류 (카테고리) ➜ Department Name
상품 번호 ➜ Clothing ID
리뷰의 평점 ➜ Rating
조회방법
1. 카테고리와 상품별로 묶어 평균 평점을 조회해보자
해석
카테고리와 상품별로 묶기 위해 group by 를 이용하여 그룹화를 해준다.
평균 평점을 구하기 위해 avg() 집계함수를 이용하고 컬럼명을 AVG_RT 로 설정해준다.
2. (1) 번의 내용을 이용하여 'Department Name' 별로 평균 평점 기준 순위를 산출하기
이 때, 중복순위는 없어야 하며 평균 평점이 낮은 것이 1등이다.
해석
순위를 산출하기 위해 row_number() 함수를 사용해준다. row_number() 함수는 중복 순위 없이 순위를 산출해준다.
`Department Name` 별로 산출하기 위해 partition by 를 이용하여 분류해준다.
그리고 평균 평점 기준으로 순위를 산출한다.
이때, 낮은 것이 1등이 되어야 하는데 row_number() 의 정렬 기본값은 오름차순이다. 그렇기 때문에 따로 설정해주지 않아도 된다
하지만 높은 것이 1등이 되어야 하는 상황이라면 desc 를 사용하여 내림차순으로 변경해주어야 한다.
3. 상위 5개씩만 출력하고 테이블화 해주기 (테이블명 : data_stat )
해석
상위 5개씩만 추려내기 위해 (2) 번의 내용을 서브쿼리로 이용해준다.
그리고 조건절 where 을 통해 5개씩만 출력한다.
테이블화를 해주기 위해
create table 데베명.테이블명 as
으로 코드를 작성해준다.
(다음 글에서 필요한 데이터라 테이블화 해주었습니다.)
'DATABASE' 카테고리의 다른 글
Q. 카테고리와 연령대 별로 평점이 가장 낮은 데이터 조회 (2) | 2023.11.26 |
---|---|
Q. 카테고리가 'Bottoms' 인 데이터 중 평점이 낮은 상품의 리뷰 조회 (0) | 2023.11.25 |
Q. 쇼핑몰 리뷰 관리 & 조회하기 (2) | 2023.11.23 |
리뷰 테이블 dataset2 데이터 (0) | 2023.11.23 |
Q. 활동고객이 많이 구매하는 제품의 계열 조회하기 (4) | 2023.11.22 |