我试图从“审查”表中获取 area_id 的最大日期,并仅返回 max date_finished 大于一年(从今天开始)的那些 area_id。表结构是这样的
1) the 'review' table can have one or more reviews (multiple date_finished) for
each area_id
2) each region_id can have one or more area_ids
目标:返回每个 region_id 且 date_finished 大于一年的评论数
样本数据:
region_id area_id date_finished
abc area_3 '01-01-2010 12:00:00 AM'
abc area_3 '06-01-2009 12:00:00 AM'
abc area_3 '02-01-2008 12:00:00 AM'
上面的预期结果应该是返回区域 abc 并且计数应该是 1(因为 max date_finished 是 2010 年 1 月 1 日,并且比今天的日期(2013 年)多一年
我的sql如下。出于某种原因,它会返回我上面描述的所有日期。它不返回最大日期,而是返回 3 个日期。我正在使用 SQL Server 2008。谢谢!
select count(*)
from review group by area_id
having datediff(day,max(date_finished), getdate()) > 365