gpt4 book ai didi

mysql - 从MySQL日期获取一个月内的用户数

转载 作者:行者123 更新时间:2023-11-29 04:04:44 24 4
gpt4 key购买 nike

我想每个月在我的网络应用程序上显示注册用户。为此,我想从用户表中查询计数并将其发送到前端。例如,我从以下查询中获取一个月内的用户数。

select count(u_id) AS 'Count', MONTH(reg_date) AS Month
from user
WHERE(reg_date) BETWEEN '2019-10-01' AND '2019-10-31'

这显示了 10 月份注册的用户数。我从此查询得到的结果表是这样的。

------------------------
Count Month
------------------------
2 10
------------------------

我要得到的结果如下。

------------------------
Count Month
------------------------
2 1
------------------------
10 2
------------------------
5 3
------------------------

我已经在用户表中存储了用户 ID 和注册日期。注册日期为 SQL 日期类型,UserID 为 Integer。我可以使用下面提到的查询获取给定月份的用户数量,并将其存储在后端的变量中,然后再次调用数据库以获取下个月,依此类推(使用循环)。然后创建一个列表并发送到前端。但是为此我必须多次调用数据库。为了获得 12 个月的用户,我必须查询 12 次。我想要的是仅从一个查询中获取每个月的用户数。如果我将日期存储为日期、月份、年份等三列,我可以获得此结果。但我不想改变当前的表结构。有什么方法可以在不更改当前表结构的情况下完成此任务?

最佳答案

你要找的是 GROUP BY。

SELECT count(u_id) AS 'Count', MONTH(reg_date) AS Month
from user
WHERE(reg_date) BETWEEN '2019-01-01' AND '2019-12-31'
GROUP BY YEAR(reg_date), MONTH(reg_date);

关于mysql - 从MySQL日期获取一个月内的用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com