작성
·
85
0
14:38초 예제에서
직원별 개별 상품 매출액, 직원별로 가장 높은 매출 대비 개별 상품 매출 비율 구하기
with temp_01 as(
select
employee_id
,sum(amount)as sum_by_emp_prod --직원별 개별 상품 매출액
-- ,max (amount) as max_emp --직원 별 가장 높은 매출
from orders a
join order_items b
on a.order_id=b.order_id
group by employee_id
)
select sum_by_emp_prod
,sum_by_emp_prod/max(sum_by_emp_prod)over(partition by employee_id)
from temp_01;
group by할때 왜 product_id도 group by하나요? 직원별 개별 상품인데 employee_id와 그룹바이 하면 되는거 아닌가여 ?
직원별로 가장 높은 매출을 max(sum_by_emp_prod)over(partition by employee_id) 이렇게 구하셧는데
with절에서 group by로 해서 with temp_01 as(
select
employee_id
,sum(amount)as sum_by_emp_prod --직원별 개별 상품 매출액
,max (amount) as max_emp --직원 별 가장 높은 매출
from orders a
join order_items b
on a.order_id=b.order_id
group by employee_id
)
이렇게 구하면 안되나여?
답변 1
0
group by를 employee_id로 하게 되면 직원별 개별 상품 매출액이 아니라 직원별 매출액이 됩니다.
그래서 group by를 employee_id, product_id로 하였습니다.