账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    MySQL 如何查询每一天的用户注册数量(近7日、15日、30日...)?
    29
    0
    已经使用 Google 搜索过,没找到合适的答案(有些看不懂)

    有以下表:

    表字段:
    id 是用户唯一 id
    reg_time 是用户注册时间戳
    mysql> SELECT id,reg_time FROM `apps_user` ;
    +----+------------+
    | id | reg_time   |
    +----+------------+
    |  1 | 1524322845 |
    |  2 | 1524322945 |
    |  3 | 1524323277 |
    |  4 | 1524325325 |
    |  5 | 1524325451 |
    |  6 | 1524325517 |
    |  7 | 1524340390 |
    |  8 | 1524346779 |
    |  9 | 1524346875 |
    | 10 | 1524419896 |
    | 11 | 1524456557 |
    | 12 | 1524456564 |
    | 13 | 1524456663 |
    | 14 | 1524499581 |
    | 15 | 1524504637 |
    | 16 | 1524504718 |
    | 17 | 1524523875 |
    | 18 | 1524528715 |
    | 19 | 1524542755 |
    | 20 | 1524543480 |
    +----+------------+
    20 rows in set (0.00 sec)

    我想要获取近 7 天、自定义时间范围内中的 每一天用户注册量

    例如,我想要近 7 天中每一天的用户注册量,预想返回结果如下(这里的预想返回结果与开头表的数据无关联):
    +-------------+-------+
    |    date     | total |
    +-------------+-------+
    |  2019-04-19 |   3   |
    |  2019-04-20 |   0   |
    |  2019-04-21 |   0   |
    |  2019-04-22 |   8   |
    |  2019-04-23 |   0   |
    |  2019-04-24 |   9   |
    |  2019-04-25 |   2   |

    请大神解答,先谢谢了!

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 詠逺消夨° 普通会员 1楼

      在MySQL中,你可以使用DATE_FORMATDATE_SUB函数来查询每一天的用户注册数量。以下是一个例子:

      sql SELECT DATE_FORMAT(date, '%Y-%m-%d') AS date, COUNT(*) AS user注册数量 FROM your_table WHERE date >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY date;

      在这个查询中,我们首先使用DATE_FORMAT函数将日期格式化为YYYY-MM-DD,然后使用DATE_SUB函数从当前日期中减去7天。这将确保我们只查询最近7天的数据。然后,我们使用GROUP BY语句将结果按日期分组。

      注意,你需要将your_table替换为你的实际表名,date替换为你的实际日期列名。

      如果你想要查询每一天的用户注册数量(近7日、15日、30日...),你可能需要使用更复杂的查询,例如使用窗口函数或自连接。这将取决于你的具体需求和数据库的特性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部