【问题标题】:How to filter out intraweek data in PostgreSQL?如何过滤掉 PostgreSQL 中的周内数据?
【发布时间】:2017-08-14 16:39:22
【问题描述】:

我有一个用于仪表板可视化的查询。查询的唯一问题是它包含当前一周的数据 - 这是有问题的,因为该周没有完全烘焙。理想情况下,我想添加一个过滤器,该过滤器在过去 52 周内提取数据,但排除日期大于最近报告周(周日 - 周六)的数据。 这是我目前拥有的:

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;;

【问题讨论】:

    标签: sql postgresql date filter


    【解决方案1】:
    and cj.created_at >= date_trunc('week', current_date) - interval '52 weeks'
    and cj.created_at < date_trunc('week', current_date)
    

    【讨论】:

      猜你喜欢
      • 2016-09-23
      • 2021-09-06
      • 2021-06-20
      • 1970-01-01
      • 2020-08-13
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多