我試圖從「查看」表中獲取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_max是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
是你列'date_finished' VARCHAR的數據類型( *字符串*)或日期? –
因此,如果最大日期超過一年前,那麼COUNT的唯一有效值應該爲1,否則爲0。 – Lamak
這是日期....我想我需要寫出整個日期 – dido