gpt4 book ai didi

mysql - 获取起始日期和截止日期内的年份数据

转载 作者:行者123 更新时间:2023-11-29 00:36:01 25 4
gpt4 key购买 nike

我有以下查询,它获取年份,从日期到日期之间的数据总和。
效果很好。

SELECT strftime('%Y',Date), SUM(Amount) 
from table where (Date between '2008-08-01' and '2012-07-31')
GROUP BY strftime('%Y',Date)

我在条形图上显示总和。
现在,如果我点击相应的年份,它应该显示该年“截止日期”之前的所有交易,或者如果该值小于“截止日期”,则显示全年的交易。

例如:在上面的示例中,它显示 Sum From Date : 2008-08-01 and To Date: 2012-07-31 。

如果用户点击 2012 年的条形列,它应该显示截至日期 2012-07-31 的交易,而不是全年的交易,但是如果用户点击 2011 年,它应该显示全年的交易,因为截止日期是大于 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',Date)='2012'

我不知道如何解决它或如何根据上述要求解决它。
请帮我修复它或任何替代方案。提前致谢。

最佳答案

你不需要GROUP BY

SELECT strftime('%Y',Date) ,* 
from table where (Date between '2011-08-01' and '2012-07-31')
and strftime('%Y',Date)='2012'

关于mysql - 获取起始日期和截止日期内的年份数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14276097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com