0

在我的网站上,我使用时间戳来跟踪我的用户在我的网站上的平均时间长度。每个唯一 IP 都记录有“输入时间”和“退出时间”记录(使用 AJAX 更新)。有了这个,我已经能够计算出我的用户在我的网站上花费的平均时间长度。

但是,我也希望能够计算每天、每周和每月的平均点击次数。我确定可以使用时间戳来实现这一点,但我不知道如何解决 PHP 和 MySQL 中的问题。我在其他网站上读到 MySQL 有一些可以计算平均值的函数,但我不知道如何提取每天/每周/每月的时间戳,因此甚至无法将任何数据传递给所述函数(s)。

我可以为每一天/每周/每月制作一个带有“开始”和“结束”时间戳的表格,并使用循环/关联数组在两者之间提取值,但该方法似乎过于繁琐且需要很长时间时间。有没有更简单的方法来实现这一点?

我的表结构目前是:

+----------------+----------------+----------------+----------------+
| start          | end            | unique_id      | id             |
+----------------+----------------+----------------+----------------+
| 1358789867     | 1358789872     | (hash here)    | 65             |
+----------------+----------------+----------------+----------------+
| 1358789966     | 1358789972     | (hash here)    | 66             |
+----------------+----------------+----------------+----------------+
| 1358789998     | 1358790003     | (hash here)    | 67             |
+----------------+----------------+----------------+----------------+
4

1 回答 1

1

对于每天的平均点击次数,您可以只使用开始时间戳。但是,确切的语法取决于您使用的是timestamp还是unix_timestamp. 为了第一:

select date(timestamp_start), count(*)
from t
group by date(timestamp_start)

对于unix_timestamp

select date(from_timestamp(timestamp_start)), count(*)
from t
group by date(from_timestamp(timestamp_start))

这会按天进行分组,表示为date. 一旦你拥有该格式,其他函数,例如year(),month() anddate_format()` 可以用于其他时间段。

于 2013-06-25T02:25:49.157 回答