90 days range using SQL server
is there a way in SQL server that i can count the items 90 days prior to the inception date and the items 90 days after the inception date. Example:
select
site,
co开发者_如何转开发unt(*)
from mytable
where date >=10/1/2009'
and date <'12/30/2009'
group by site
90 days before - after inception date.
prior to inception date = 7/3/2009.
inception date = 10/1/2009.
after inception date = 12/29/2009.
Use:
SELECT t.site,
SUM(CASE WHEN t.date BETWEEN DATEADD(dd, -90, '2009-10-01') AND DATEADD(ss, -1, '2009-10-01') THEN 1 ELSE 0 END) AS numPrior,
SUM(CASE WHEN t.date BETWEEN DATEADD(dd, 1, '2009-10-01') AND DATEADD(dd, 91, '2009-10-01') THEN 1 ELSE 0 END) AS numPost
FROM YOUR_TABLE t
GROUP BY t.site
Tweak the DATEADD function and inception date as you need.
http://msdn.microsoft.com/en-us/library/aa258267(SQL.80).aspx
精彩评论