-
카테고리
-
세부 분야
데이터베이스
-
해결 여부
미해결
row_number
22.12.17 18:19 작성 조회수 224
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
상품별 매출 랭킹(카테고리별)이 내림차순으로 나와야 하는데 왜 매출 수치랑 랭킹이 맞지 않을까요.. 대체 어디가 틀린 걸까요ㅠㅠ
with c as (select b.category_id, a.product_id, sum(a.amount) sum_amt from order_items a
join products b on a.product_id = b.product_id
group by a.product_id, b.category_id
order by b.category_id, a.product_id
)
select category_id, product_id, sum_amt,
sum(sum_amt) over (partition by category_id) sum_category,
row_number() over(partition by category_id order by sum_amt desc) as rank_sum
from c
group by category_id, product_id, sum_amt
답변을 작성해보세요.
0
권 철민
지식공유자2022.12.17
안녕하십니까,
질문을 이해하지 못하겠군요.
뭐가 어떻게 나와야 하는 건지요?
암튼 제가 수행해 보면 category_id별로 sum_amt가 내림차순으로 rank_sum과 동일하게 나옵니다.
그리고 마지막 group by category_id, product_id, sum_amt 은 제외하는 게 좋을 것 같습니다.
원하시는 답이 아니면 다시 말씀해 주십시요.
권 철민
지식공유자2022.12.18
이미 categry_id, product_id로 unique한데 또 group by category_id, product_id, sum_amt 하실 필요 없을 것 같습니다. 빼도 결과는 동일할 겁니다.
답변 1