2016-11-29 1 views
0

이번 달 일일 주문 수와 지난 달 일일 주문 수의 차이를 비교하고 postgresql sql query를 사용하여 일별로 그룹화하고 싶습니다.지난 달의 일일 수와 지난 일일의 일일 수를 비교하십시오.

예 :

1st of nov count - 1st of oct count

+0

음, 좋은 방법은 쿼리를 시작합니다 '선택'입니다. –

+0

@ 리브 나는 현재와 지난 달 동안 하루에 일일 주문을 나누는 법을 안다. 내 문제는 지난 달에 해당하는 일수와 각 일수를 비교하는 방법과 확실하지 않은 방법입니다. 자기 조인 또는 무엇인가 추측하는 Im는 도움이 될지도 모르지만 확실하지 않습니다. – bsh

+0

@GordonLinoff가 항상 그런 것은 아닙니다 :) – bsh

답변

0

단순히 이전 달의 날짜를 계산하고 그

create table sales (
    d DATE 
    ,orederCount INT 
); 

INSERT INTO sales(d, orederCount) VALUES ('2016-11-01',12),('2016-10-01',10),('2016-09-01',10) 
             ,('2016-11-02',13),('2016-10-02',14),('2016-09-02',5); 



with data as (select d,(d-INTERVAL '1 month')::DATE as p,orederCount from sales) 
select current.d,current.orederCount - COALESCE(prev.orederCount,0) as diff 
from data as current 
LEFT JOIN data as prev ON current.p = prev.d 
; 

결과에 조인

2016-09-01,10 
2016-09-02,5 
2016-10-01,0 
2016-10-02,9 
2016-11-01,2 
2016-11-02,-1 
관련 문제