我有一个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;
我还没有测试任何这些,可能需要进行一些修改。