此查詢提供當前和今年前一年的價格和平方英尺的年迄今數字。這更像是本年和前一年的跑步總數,就本例中的週數而言,從1到7等等......(2017年第7周2017年2月19日結束)當年和前一年(2016年第7周結束於2016年2月22日)。我之所以使用子查詢,是因爲這是只有我知道的方式來解決這種情況。當然,如果你認爲執行這個查詢有一個更短的,可行的選擇,請諮詢。以周爲單位的當前和上一年運行總計
Actual_Sale_Date
持有一週中所有七天的數據,但我們在週日中斷,這就是爲什麼2016年2月22日(2016年第7週週末)和2017年2月19日(週日結束第7周) 2017年)。
我試過"Actual_Sale_Date" = date_trunc('week', now())::date - 1
這個函數只返回前一個星期的數據,這個星期的數據在星期天結束。我查看了interval
,因爲dateadd
在postgresql中不存在,但無法解決它。
我的查詢:
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
您是否需要按周生成日期系列? – McNets
該查詢具有「周」系列要求。隨着年份的推進,總共運行這些列。 –
對不起,但我不清楚,按星期累計總數? – McNets