我在MySQL数据库中有行,每个行都有一个时间戳值。 (即1340296188)
我正在尝试查找过去7天的所有条目。我知道如何查询在过去7天内查找所有内容,例如:
$lastweek = time() - 604800;
$results = mysql_query("SELECT * FROM table WHERE timestamp > $lastweek");
但是,我需要能够每天分开。我该怎么做这个查询?我不知道如何从上面的结果中找出哪些具体日期。
答案 0 :(得分:4)
我相信有更多的方法可以做到这一点。这是一个:
SELECT *
FROM table
WHERE timestamp > CURRENT_DATE - INTERVAL 1 WEEK
GROUP BY DAY(timestamp)
答案 1 :(得分:2)
你已经在那里了;您只需解析$results
中的时间戳字段。
一天是(60 * 60 * 24)秒,因此您可以将每行的时间戳字段除以86400,将其转换为整数,结果是此条目发生前的天数。
对于数据集中的每一行:
$daysAgo = int($row["timestamp"] / 86400);