如何计算使用mysql的日期访问我的网站的次数?

时间:2011-06-27 23:44:39

标签: mysql

我在表格中存储了对我网站的所有访问,我存储了日期,访问过的页面和会话ID。

理论上,我可以根据他们的会话ID对某人进行分组,这算作一次访问。

然而,我想要做的是通过表格获取每个日期的访问总数。所以它会按会话ID分组,然后按日期分组。

即:

SELECT DATE(added) as date, COUNT(*) FROM visits GROUP BY sessionID, date

这不起作用,因为它检索该会话ID的访问总数和日期。

我的表结构看起来有点像这样:

----------------------------------
| id | added | page | sessionid
----------------------------------

有什么想法吗?

我的查询给我的结果如下:

2010-11-24 | 2
2010-11-24 | 14个
2010-11-24 | 17个
2010-11-24 | 1个

虽然我希望得到的东西更像是1日期以外的所有人,即:

2010-11-24 | 34个

1 个答案:

答案 0 :(得分:3)

每个日期包含每个请求的不同时间。如果您在DATE子句中使用GROUP BY,就像在SELECT子句中一样,那将解决您的问题。

通过sessionID分组,它将为每个会话创建一行。如果不是按sessionID进行分组,而是使用COUNT(DISTINCT sessionID),它将联系该日期的不同数量的会话ID。

SELECT DATE(added) as date, COUNT(DISTINCT sessionID) as sessions FROM visits GROUP BY DATE(added)