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)