我正在使用mysql,我在想一个查询来计算某个日期范围内的用户/访客数量时遇到了麻烦。我目前使用的方法是使用php,我选择日期范围并在for循环中处理数据,然后在那里对数据进行计数。这实际上很简单,但问题是这种方法不适用于几百万行的更大数据。另一种方法是仅使用mysql对不同的值进行计数,并利用时间戳列上的索引返回计数,而不返回实际数据。此外,不能将列转换为datetime。你知道我怎样才能做到这一点吗?
下面是我需要的示例结果集:
date | count
5-01-13 14
5-02-13 44
5-03-13 23
5-04-13 13我的问题是我不知道如何按天对时间戳列进行分组。
发布于 2013-05-21 11:55:02
这应该能起到作用:
SELECT DATE('datetimecolumn'), COUNT(*)
FROM Table
GROUP BY DATE('datetimecolumn')发布于 2013-05-21 12:50:54
您只需执行相同的操作,但添加group by子句:
SELECT myDate, count(distinct myField) as cnt
FROM myTable
WHERE myDate BETWEEN ? and ?
GROUP by myDate;"?“在哪里?是您在原始查询中使用的日期。
https://stackoverflow.com/questions/16661814
复制相似问题