일별 판매량과 일별 누적 판매량 나타내기

kxsxh·2024년 2월 22일
0

DataBase

목록 보기
3/5

누적(누계)에 대해서 알아보기

sum(누적되어야할 컬럼명) over(order by 누적되어질 기준이 되는 컬럼명 asc[desc] )
        
sum(누적되어야할 컬럼명) over(partition by 그룹화 되어질 컬럼명 
                                   order by 누적되어질 기준이 되는 컬럼명 asc[desc] )
  • over절을 사용하면 group by절을 사용하지 않고도 select절에서 단독으로 합계를 구할 수 있다


<일별 누적 판매량과 일별누적 판매량 나타내기>

insert into tbl_sales(sales_date, product_name, sales_number)
values (sysdate, '감자깡', 10);
...
select *
from tbl_sales
where product_name = '새우깡';

-- 자바에서 차트 만들 수 있음
데이터시각화 중요함

   ----------------------------------------------------
      판매일자          일별 판매량      일별 누적 판매량
      ----------------------------------------------------      
        23-12-22            10              10
        23-12-23            15              25
        23-12-25            13              38
        23-12-23            8               46
        23-12-22            30              76
	----------------------------------------------------

누적 판매량을 100으로 봐야 누적 관계수가 올라감, 누적을 통해서 어떤 추세인지 알 수 있음

to_char() 함수 : 날짜, 숫자 등의 값을 문자열로 변환하는 함수
--> to_char (문자값, '형식')


select to_char(sales_date,'yyyy-mm-dd'), sum(sales_number)
from tbl_sales
where product_name = '새우깡'
group by to_char(sales_date, 'yyyy-mm-dd') --> to_char(sales_date, 'yyyy-mm-dd')의 컬럼의 값이 같은 것끼리 그룹을 짓는다

벨로그랑 이 거랑 다른 데이터임....


누적의 합계

select to_char(sales_date, 'yyyy-mm-dd') as 판매일자
		, sum(sales_date) as 일별판매량
        , sum(sum(sales_number, 'yyyy-mm-dd') asc) as 일별누적판매량
from tbl_sales
where product_name = '새우깡'
group by to_char(sales_date, 'yyyy-mm-dd');

select to_char(sales_date,'yyyy-mm-dd') as 판매일자
	, sum(saless_number) as 일별 판매량
    , sum (sum(sales_number)) over(order by to_char(sales_date,'yyyy-mm-dd') asc) as 일별누적판매량

from tbl_sales
where product_name = '새우깡'
group by to_char(sales_date, 'yyyy-mm-dd');    

0개의 댓글