我想计算表格的某些列的总和。完全持续1年的总和。因此,一组行可能需要每日计算。我使用以下MySQL查询来获取旧记录。
//php variable
$timezoneName = timezone_name_from_abbr("PST");
date_default_timezone_set("$timezoneName");
$now = date('Y-m-d H:i:s');
SELECT col1,col2 FROM table1
WHERE modificationDate < '$now' - INTERVAL 1 YEAR
这里使用PHP变量来设置PST时区的时间。否则我可能使用了MySQL的now()函数。
我的挑战是,旧记录不会从数据库中删除,并且每天旧记录列表都在增加。所以我想要一个查询来获得1岁和大于(1年和1天更旧)的记录。
我试过这样,但没有工作
SELECT col1,col2 FROM table1
WHERE (modificationDate < '$now' - INTERVAL 1 YEAR)
AND (modificationDate >= ('$now' - INTERVAL 1 DAY) - INTERVAL 1 YEAR)
任何解决方案?
由于
答案 0 :(得分:1)
最后我用以下逻辑得到了所需的输出。
$timezoneName = timezone_name_from_abbr("PST");
date_default_timezone_set("$timezoneName");
$lastYear = date("Y-m-d",strtotime("-1 year"));
SELECT col1,col2 FROM table1
WHERE modificationDate LIKE '$lastYear%';
现在能够获得特定的旧数据
感谢所有人,感谢您的宝贵意见。
答案 1 :(得分:0)
尝试这样的事情
UPDATE表SET日期= DATE_ADD(日期,间隔1年)