当用户在网站上进行呕吐时,我会向数据库添加点数。 我想要做的就是获得过去7天的积分并总计得分。
在我的数据库中,我将它保存为:PointsID,PointsUserID,PointsTotal,PointsDate
我想我只需要弄清楚db中的最新日期,然后减去7天,然后从它们之间获取值。一旦我返回了值,就需要将它们相加,这样我就可以输出一个数字。
谢谢,Bonxy
答案 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()