2016-11-29 29 views
0

この月の1日の注文数と先月の1日の注文数の差を比較し、postgresqlのsqlクエリを使用して1日ごとにグループ化したいと考えています。今月からの日数と前回の日からの日数の比較

例:

1st of nov count - 1st of oct count

+0

さて、このような問合せを開始するには良い方法'SELECT'と一緒です。 –

+0

@Riv私は毎日の注文を現在と先月の1日ごとにグループ化する方法を知っています。私の問題は、過去の月の相当額と各日のカウントをどのように比較し、どのようにわからないかです。自分自身を推測したり、助けてくれるかもしれませんが、わかりません。 – 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 
関連する問題