私はOracle 11gR2を使用しています
たとえば、次のようなテーブルがあります。
ProductName | Volume | Date
-------------------------------------------
ProdA | 1000 | 11-Oct-2013
ProdA | 2000 | 16-Oct-2013
ProdB | 500 | 12-Oct-2013
ProdA | 200 | 11-Nov-2013
ProdB | 100 | 16-Nov-2013
ProdB | 300 | 12-Nov-2013
私がやりたいことは、各製品のボリュームを合計してから、2 か月間のボリュームを比較し、計算フィールドで差を計算することです。最終的には次のようになります。
ProductName | VolumeCurrentMonth | VolumePrevMonth | Difference
-------------------------------------------
ProdA | 200 | 3000 | -2800
ProdB | 400 | 500 | -100
私のコードは要件を満たすにはほど遠いですが、とにかく投稿します:
Select ProductName, sum(Volume), to_char(Date, 'Month') as Current_Month, to_char(run_date, 'Month') as PY_Month
from Sales
where Date is not null
group by ProductName, Date;