2017-08-14 4 views
0

ダッシュボードの視覚化のために私が利用しているクエリがあります。このクエリの唯一の問題は、今週のデータが含まれていることです。これは、週が完全に焼かれていないため問題になります。理想的には、過去52週間でデータを取り込み、最近のレポート週(Sun - Sat)よりも大きい日付のデータは除外するフィルタを追加したいと考えています。ここ は、私が現在持っているものです。PostgreSQLでintraweekデータをフィルタリングする方法は?

SELECT (DATE_TRUNC('week',cj.created_at:: timestamptz) + '5 days':: 
     interval)::date 
     ,CASE WHEN o.vertical IS NULL OR o.vertical NOT IN 
     ('Auto','Franchise') THEN 'SMB' 
     ELSE o.vertical END as vertical 
     ,COUNT(DISTINCT cj.native_candidate_job_id) as applicant_traffic 
FROM dim_candidate_jobs cj 
JOIN dim_organizations o ON cj.native_organization_id = 
    o.native_organization_id 
WHERE o.demo = false 
    AND NOT(o.name ~~* any (array['%test%','%api%'])) 
    AND cj.created_at:: date > current_date - interval '52 weeks' 
    AND cj.created_at:: date < (DATE_TRUNC('week',current_date:: 
     timestamptz) + '1 day':: interval)::date 
    AND o.current = 'Y' 
    AND cj.current = 'Y' 
GROUP BY 1,2;; 

答えて

0
and cj.created_at >= date_trunc('week', current_date) - interval '52 weeks' 
and cj.created_at < date_trunc('week', current_date) 
関連する問題