1

我正在使用 mysql,但在考虑使用查询来计算特定日期范围内的用户/访问者数量时遇到了麻烦。我目前正在使用的方式是使用 php,我选择日期范围并在 for 循环中处理数据,然后在那里计算它们。这实际上很简单,但问题是这种方法不适用于几百万行的更大数据。另一种方法是仅使用 mysql 计算不同的值,并通过利用时间戳列上的索引仅返回计数而不是实际数据。此外,不能将该列转换为日期时间。有什么想法可以实现这一目标吗?

这是我需要的示例结果集:

date     | count
5-01-13     14
5-02-13     44
5-03-13     23
5-04-13     13

我的问题是我不知道如何按天对时间戳列进行分组。

4

2 回答 2

5

这应该够了吧:

SELECT DATE('datetimecolumn'), COUNT(*) 
  FROM Table 
 GROUP BY DATE('datetimecolumn')
于 2013-05-21T03:55:02.107 回答
0

您只需要这样做,而是添加一个 group by 子句:

SELECT myDate, count(distinct myField) as cnt
FROM myTable
WHERE myDate BETWEEN ? and ?
GROUP by myDate;

“?”在哪里?是您在原始查询中使用的日期。

于 2013-05-21T04:50:53.783 回答