1

このクエリは、今年と前年の現在までの価格と平方フィートの両方の年初来の数値を提供します。これは、この場合は 1 から 7 までの週に関する今年と前年度の累計に似ています。今年と前年 (2016 年の第 7 週は 2016 年 2 月 22 日に終了)。サブクエリを使用する理由は、これがこの状況を回避する唯一の方法であるためです。そしてもちろん、このクエリを実行するよりも短く実行可能な代替手段があると思われる場合は、アドバイスをお願いします。

Actual_Sale_Dateは 7 日間すべてのデータを保持していますが、2016 年 2 月 22 日 (2016 年の第 7 週で終わる日曜日) と 2017 年 2 月 19 日 (2017 年の第 7 週で終わる日曜日) は日曜日を切り捨てています。

この関数を試してみ"Actual_Sale_Date" = date_trunc('week', now())::date - 1ましたが、渡された日曜日で終わる前の週のデータのみが返されます。私はpostgresqlに存在しないintervalので見てみましたが、それdateaddをうまく使うことができませんでした。

私のクエリ:

select (money(Sum("Price") / COUNT("Price"))) as "Avg_Value YTD",
Round(Avg("Price"/"Sq_Ft"),+2) as "Avg_PPSF YTD",

(select 
(money(Sum("Price") / COUNT("Price")))  from allsalesdata
where "Actual_Sale_Date" >=  '01/01/2016' AND "Actual_Sale_Date" < '02/22/2016'
and "Work_ID" = 'SO') AS "Last Year at this time Avg_Value", 


(select Round(Avg("Price"/"Sq_Ft"),+2)
from allsalesdata
where "Actual_Sale_Date" >=  '01/01/2016' AND "Actual_Sale_Date" <  '02/22/2016' 
and "Work_ID" = 'SO') AS "Last Year at this time Avg_PPSF"


from allsalesdata
where "Actual_Sale_Date" >=  '01/01/2017' AND "Actual_Sale_Date" <'02/20/2017'
and "Work_ID" = 'SO'

サンプルデータ:

Price       Sq_Ft        Actual_Sale_Date        Work_ID

45871       3583           01/15/2016             SO
55874       4457           02/05/2016             SO
88745       4788           02/20/2016             SO
58745       1459           01/10/2016             SO
88749       2145           01/25/2017             SO
74856       1478           01/25/2017             SO
74586       4587           01/31/2017             ABC
74745       1142           02/10/2017             SO
74589       2214           02/19/2017             SO
4

1 に答える 1