如何根据日期获得不同的计数

How to get a distinct count based on date

我需要获得我们提供工作的人数的不同数量,问题是因为我们可以为潜在候选人提供多个工作,当我编写查询时它会计算多个工作机会。要求只计算第一个报价,任何后续报价都不应计算在内。有什么建议吗?

您可以像下面这样使用这个 COUNT(DISTINCT...) :

SELECT a.p_id, b.p_name, c.p_desc, 
       COUNT(DISTINCT CASE WHEN a.date BETWEEN TRUNC(ADD_MONTHS(LAST_DAY(sysdate),-4) + 1) AND 
                                    ADD_MONTHS(LAST_DAY(TO_DATE(sysdate)),-1) ...