Php mySql按日期获取注册用户总数

Php mySql按日期获取注册用户总数,php,mysql,Php,Mysql,我有一个输入新注册用户的表,如下所示 mytable +----+---------------------+------+ | id | timestamp | name | +----+---------------------+------+ | 1 | 2014-06-03 00:02:40 | john | +----+---------------------+------+ | 2 | 2014-06-03 00:02:41 | sue | +----+-

我有一个输入新注册用户的表,如下所示

mytable
+----+---------------------+------+
| id | timestamp           | name |
+----+---------------------+------+
| 1  | 2014-06-03 00:02:40 | john |
+----+---------------------+------+
| 2  | 2014-06-03 00:02:41 | sue  |
+----+---------------------+------+
| 3  | 2014-06-03 00:02:42 | fran |
+----+---------------------+------+
| 4  | 2014-06-02 00:02:40 | mark |
+----+---------------------+------+
| 5  | 2014-06-02 00:02:41 | tim  |
+----+---------------------+------+
我想按日期组织,用户总数。当我硬编码日期时,这就起作用了

SELECT * FROM mytable WHERE timestamp LIKE '%2014-06-03%'
Q:如何在注册用户数之前获取整个表? 这是我的尝试,但这给了我需要的2列,但计数(id)返回1

SELECT timestamp, COUNT(id)
FROM mytable
WHERE timestamp >= "2014-01-01" 
AND timestamp < DATE_ADD("2015-01-01", INTERVAL 1 DAY)
GROUP BY timestamp
选择时间戳、计数(id)
从mytable
其中时间戳>=“2014-01-01”
时间戳<日期添加(“2015-01-01”,间隔1天)
按时间戳分组
因为您的时间戳实际上是时间戳,包含小时/分钟/秒数据,所以您不能直接在其上分组-您也可以按hh:mm:ss分组。因此,您可以按
日期(时间戳)
分组,这将提取日期部分(yyyy-mm-dd)并仅按该部分分组

SELECT DATE(timestamp) AS date, COUNT(id)
FROM mytable
GROUP BY DATE(timestamp)