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

标签 php mysql

我有一个表格,可以输入这样的新注册用户

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%'

问:我如何按日期获取整个表格的注册用户数量? 这是我的尝试,但这给了我我需要的 2 列,但 count(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

最佳答案

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

由于您的时间戳实际上是时间戳并包含小时/分钟/秒数据,因此您不能直接对其进行分组 - 您也将按 hh:mm:ss 进行分组。因此,您按 DATE(timestamp) 进行分组,这将提取日期部分 (yyyy-mm-dd) 并仅按该部分进行分组。

关于php - mySql 按日期获取注册用户总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24023291/

相关文章:

javascript - 在 PHP 中使用 JavaScript 变量时未定义索引

javascript - (Ajax)登陆页面网址而不重新加载内容

mysql - 如何使用 Criteria Query JPA 从数据库表的最后一行开始选择结果?

mysql - 将数据库从一个用户迁移/复制到另一个用户

mysql - 通过外键从第二个表中获取第一个表中的字段

PHP PDO和mysql无法选择带字母的id

php - 获取等于给定 id laravel Eloquent 所有记录

php - 试图弄清楚 MySQL 查询的作用(不是我的)

php - 如何在 MSSQL 中存储和检索扩展的 ASCII 字符

php - 在 Laravel 中使用 MySQL 枚举的菜单下拉