我有一个MYSQL表,记录的是网站访问量,其形式为(可以根据需要更改,我处于项目的“可行”阶段):

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


等等

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

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

最佳答案

假设您的表名称是访问。

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;


我还没有测试任何这些,可能需要进行一些修改。

10-06 12:10