Php 如何使用时间戳列计算每天的不同值?

Php 如何使用时间戳列计算每天的不同值?,php,mysql,sql,timestamp,unix-timestamp,Php,Mysql,Sql,Timestamp,Unix Timestamp,我使用的是mysql,我很难想出一个查询来统计某个日期范围内的用户/访问者数量。我目前使用的方法是使用php,我选择日期范围,在for循环中处理数据,然后在那里进行计数。这实际上相当简单,但问题是这种方法不适用于数百万行的大数据。另一种方法是仅使用mysql对不同的值进行计数,并通过使用timestamp列上的索引返回计数而不是实际数据。此外,将列转换为日期时间也不是一个选项。有什么办法可以做到这一点吗 以下是我需要的示例结果集: date | count 5-01-13 14

我使用的是mysql,我很难想出一个查询来统计某个日期范围内的用户/访问者数量。我目前使用的方法是使用php,我选择日期范围,在for循环中处理数据,然后在那里进行计数。这实际上相当简单,但问题是这种方法不适用于数百万行的大数据。另一种方法是仅使用mysql对不同的值进行计数,并通过使用timestamp列上的索引返回计数而不是实际数据。此外,将列转换为日期时间也不是一个选项。有什么办法可以做到这一点吗

以下是我需要的示例结果集:

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

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

这应该可以做到:

SELECT DATE('datetimecolumn'), COUNT(*) 
  FROM Table 
 GROUP BY DATE('datetimecolumn')

这应该可以做到:

SELECT DATE('datetimecolumn'), COUNT(*) 
  FROM Table 
 GROUP BY DATE('datetimecolumn')

您只需执行相同的操作,而是添加group by子句:

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

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

您只需执行相同的操作,而是添加group by子句:

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

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

您提到的时间戳列在哪里?这里没有显示。您对任何答案满意吗?如果您需要更多帮助,请询问,否则将其中一个答案标记为已接受。干杯答案中没有一个是有效的,因为它们是按秒分组的。原因是时间戳按秒记录,我需要按天对数据进行分组。您提到的时间戳列在哪里?这里没有显示。您对任何答案满意吗?如果您需要更多帮助,请询问,否则将其中一个答案标记为已接受。干杯答案中没有一个是有效的,因为它们是按秒分组的。原因是时间戳按秒记录,我需要按天对数据进行分组。