0

我有一个 MYSQL 表记录对网站的点击,它的形式是(如果需要,这可以更改,我处于项目的“这是否可行”阶段):

+----+-----------+---------+----------+------------+
| id | useragent |   url   | loadTime |  unixtime  |
+----+-----------+---------+----------+------------+
|  1 | Chrome    | /       |      300 | 1334354015 |
|  2 | Chrome    | /       |      330 | 1334354020 |
|  3 | Opera     | /about/ |      310 | 1334354100 |
+----+-----------+---------+----------+------------+

等等

我想做的是计算每天的点击次数,以及平均每天的 loadTime 以及我稍后会做的其他事情。

要计算点击次数,我知道如何做到这一点的唯一方法是使用服务器端语言 SELECT *,然后循环遍历,用一天开始和结束之间的 unix 时间计算行数。执行此操作的正确 SQL 方法是什么,或者我应该坚持选择 *,循环?

4

1 回答 1

2

假设您的表名是访问。

select date(FROM_UNIXTIME(unixtime)) as visitDate, count(v.id) from visits v group by visitDate;

应该可以正常工作..如果您想按页面网址过滤结果;

select date(FROM_UNIXTIME(unixtime)) as visitDate, url, count(v.id) from visits v group by visitDate, url;

如果你想看看今天的访问;

select date(FROM_UNIXTIME(unixtime)) as visitDate, count(v.id) from visits v where date(now()) = date(FROM_UNIXTIME(unixtime)) group by visitDate;

我还没有测试过这些,可能需要一点点修改。

于 2012-04-14T14:36:35.760 回答