SQL日期间隔比较

时间:2012-08-13 03:22:58

标签: sql date intervals

我有一份报告,我正在做的工作,我需要一些帮助。下面的查询我展示了到目前为止我所做的,我现在需要的是能够获得每天下降的每个学生的信息,而不是一次给我一个总数,换句话说,开始例如,在04-23和05-23之间,而不是一次获得总数我希望它提供当天每天的结果,这意味着今天的结果将显示在04-23到04-26之间,明天它会更新显示04-23到04-27之间的结果,依此类推。如果有人可以请求帮助,我将不胜感激。谢谢明智的

SELECT
      COUNT (dbo.cst_AdCancelsQE_vw.priorqecounter) AS 'Prior to QE',
      COUNT (dbo.cst_AdCancelsQE_vw.duringqecounter) AS 'During QE',
      COUNT (dbo.cst_AdCancelsQE_vw.afterqecounter) AS 'After QE',
      dbo.cst_AdCancelsQE_vw.Division,
      dbo.cst_AdCancelsQE_vw.Campus,
      LEFT(CONVERT (VARCHAR,dbo.cst_AdCancelsQE_vw.Startdate  , 101), 10)AS 'Start Date'


FROM dbo.cst_AdCancelsQE_vw
      --JOIN dbo.cst_AdStatusChanges_vw
            --ON dbo.cst_AdCancelsQE_vw.NewStatDescrip = dbo.cst_AdStatusChanges_vw.NewStatDescrip
WHERE StartDate IN ('2012-04-23', '2012-05-07', '2012-03-12')


GROUP BY dbo.cst_AdCancelsQE_vw.division, dbo.cst_AdCancelsQE_vw.campus, dbo.cst_AdCancelsQE_vw.startdate
ORDER BY dbo.cst_AdCancelsQE_vw.division, dbo.cst_AdCancelsQE_vw.campus ASC

1 个答案:

答案 0 :(得分:0)

而不是今天 - 昨天和前一天的WHERE,你应该说今天和今天之间 - 3天。

WHERE StartDate Between getdate() and getdate()-3

过去3天你有一个例子。您应该能够修复您的要求。 通过这种方式,您可以获得每日运行的查询,如果您今天运行该查询,则会获得过去3天的结果,当明天再次运行时,您将获得一组新的结果。