0
我試圖做的是和過去30天的基於標準和團體的一天,一個代碼的一天是這樣的:求和移動範圍和標準,按天分組
select
sum(case when f.hire_date__c between '2017-08-01 00:00:00' and '2017-09-01
00:00:00'
and t.createddate between '2017-08-01 00:00:00' and '2017-09-01 00:00:00'
and t.name = 'Request' then 1 else 0 end) as Requests
from case_task_c as t
join case_file_c as f
on f.id = t.case_file__c
我根據今天的日期等,可以根據30天的回顧調整相應的日期。我無法弄清楚的是每天都有這個查詢組,例如昨天的結果,前一天等等。範圍。
到目前爲止,我有這樣的:
select
date(cast(f.hire_date__c as date)),
row_number() over (order by f.hire_date__c desc) as rownumber,
rr.Cancels as Cancels,
qq.hires as hires,
sum(rr.Cancels) over (rows between 1 following and 30 following) as
CumulCancel,
sum(qq.Hires) over (rows between 1 following and 30 following) as Hires
from case_file_c as f
left join(
select
cast(f.hire_date__c as date) as date1,
sum(case when
t.name = 'Cancellation Request' then 1 else 0 end) as Cancels
from case_task_c as t
join case_file_c as f
on f.id = t.case_file__c
group by date1)
as rr
on rr.date1 = cast(f.hire_date__c as date)
left join(
select
cast(f.hire_date__c as date) as date2,
sum(case when f.hire_date__c is not null then 1 else 0 end) as
hires
from sf_case_file_c as f
group by date2) as qq
on qq.date2 = cast(f.hire_date__c as date)
where f.hire_date__c is not null
and f.hire_date__c >= '2017-01-01 00:00:00'
and f.hire_date__c between date_add('day',-30,current_date) and current_date
group by f.hire_date__c, rr.Cancels, qq.hires
order by f.hire_date__c desc
即使使用「CURRENT_DATE - 間隔 - 30日」只是仰望..當前日期。
使用Postgres 8.0.2
你可以使用https://sqlfiddle.com轉換日期時間迄今在列選擇而不是在組做出了榜樣模式,並在你原來的問題聯繫起來呢? – phroureo
使用'按日期分組(cast(f.hire_date__c as date)),rr.Cancels,qq.hires' – Rakib