1

我在 MySQL 数据库中有行,每行都有一个时间戳值。(即1340296188)

我正在尝试查找过去 7 天的所有条目。我知道如何进行查询以查找过去 7 天内的所有内容,例如:

$lastweek = time() - 604800;
$results = mysql_query("SELECT * FROM table WHERE timestamp > $lastweek");

但是,我需要能够分别获得每一天。我将如何进行此查询?我不知道如何从上面的结果中找到哪些是针对哪个特定日期的。

4

2 回答 2

4

我相信有不止一种方法可以做到这一点。这是一个:

SELECT * 
FROM table 
WHERE timestamp > CURRENT_DATE - INTERVAL 1 WEEK
GROUP BY DAY(timestamp)
于 2012-06-22T13:49:07.853 回答
2

你已经差不多了;您只需要解析$results.

一天是 (60 * 60 * 24) 秒,所以可以将每一行的时间戳字段除以 86400,将其转化为整数,结果为该条目出现的天数。

对于数据集中的每一行:

$daysAgo = int($row["timestamp"] / 86400);
于 2012-06-22T13:54:43.200 回答