2015-04-06 82 views
0

我想建立一个图表,将显示允许通过的一年,例如项目:组记录的一年,有开始和结束日期

一期工程已在2014年4月6日一个起始日期和07-一个END_DATE 09-2016,所以该项目在2014年,2015年和2016年启用。

我该如何建立一个查询来获取这个记录分组的年份,因为该项目可以计算在不同年份?

+0

到目前为止,我正试图通过Ruby来管理它,获得去年和最新的一年来获得一个范围,在今年的范围做一个foreach。之后,我将尝试检查start_date的年份是否小于或等于年份(范围),并且end_date的年份是高于还是等于年份(范围),并对其进行计数。但是因为它会在数据库中产生很多命中。我试图找到一种方法在一个选择中执行它。 –

+0

做到这一点的一种方法是生成年份列表(每年都有一个函数返回,或者只是将记录插入到表中)。然后,您将您的表格与此记录集合相加,包括该年份中的任何记录 –

回答

0

您没有提供足够的信息......然而,其基本思想是用聚合函数,如:

SELECT YEAR(date_field) As MyYear, SUM(numeric_field) AS MyValue 
FROM TableName 
WHERE (start_date_field >= '2014-04-06' AND end_date_field <= '2016-07-09') 
GROUP BY YEAR(date_field) 

如需进一步信息,请访问:
Date and Time functions
Aggregate functions

相关问题