如何在某些日期之间从MySQL DB获取数据

时间:2012-02-27 01:09:48

标签: php mysql database

当用户在网站上进行呕吐时,我会向数据库添加点数。 我想要做的就是获得过去7天的积分并总计得分。

在我的数据库中,我将它保存为:PointsID,PointsUserID,PointsTotal,PointsDate

我想我只需要弄清楚db中的最新日期,然后减去7天,然后从它们之间获取值。一旦我返回了值,就需要将它们相加,这样我就可以输出一个数字。

谢谢,Bonxy

2 个答案:

答案 0 :(得分:1)

SELECT SUM(PointsTotal) FROM TableName WHERE PointsUserID = 'IdInQuestion' AND PointsDate >= Date_Sub(Now(), Interval 7 Day)

如果您将日期存储为unix时间戳值(AKA是PHP日期值),您可能希望在适当的方向上转换这两个值中的一个。

例如,您可以将PointsDate替换为FROM_UNIXTIME(PointsDate),将字段转换为MySQL日期时间值。你也可以采用另一种方式转换DATE_SUB()的结果,将其全部包装在UNIX_TIMESTAMP()中。两者都应该有相同的结果。

答案 1 :(得分:0)

这样的东西
Select * From MyTable Where MyDate Between Date_Sub(Now(), Interval 7 Day) and Now()