我有以下查询获取年份,来自和迄今为止的Sum数据 它运作得很好。
SELECT strftime('%Y',Date), SUM(Amount)
from table where (Date between '2008-08-01' and '2012-07-31')
GROUP BY strftime('%Y',Date)
我在条形图上显示总和 现在,如果我点击相应的年份,它应显示该年度“到期日”之前的所有交易,或者如果该值小于“迄今为止”,则表示全年的交易。
对于Eg:在上面的示例中,它显示Sum From Date:2008-08-01和To Date:2012-07-31。
如果用户点击2012年栏栏,它应该显示截至2012-07-31日期的交易,而不是全年,但如果用户在2011年点击,它应该交易整年,因为TO日期是大于2011年。
对于2008年,它应该显示“2008-08-01”的数据而不是全年,如果我点击那一年的栏栏,它应该显示从该特定日期到年底的交易而不是整年。
我在下面的查询返回了错误的值。
SELECT strftime('%Y',Date) ,*
from table where (Date between '2011-08-01' and '2012-07-31')
and strftime('%Y',Date)='2012'
GROUP BY strftime('%Y',Date)
这仅返回2012-01-01日期的一行,而不是2012年至2012-07-31期间的所有值。
基本上我想在以下查询中仅更改年份,其余应该相同。的strftime( '%Y',日期)= '2012'
我不知道如何解决它或如何解决上述要求 请帮我解决它或任何替代方案。在此先感谢。
答案 0 :(得分:1)
您不需要GROUP BY
SELECT strftime('%Y',Date) ,*
from table where (Date between '2011-08-01' and '2012-07-31')
and strftime('%Y',Date)='2012'