mysq 统计最近两个月内每天的注册用户人数,当天没有人注册时为0
时间: 2024-04-08 13:29:45 浏览: 70
mysql按照天统计报表当天没有数据填0的实现代码
要统计最近两个月内每天的注册用户人数,并在当天没有人注册时显示为0,可以使用以下 SQL 查询:
```sql
SELECT DATE(registration_date) AS registration_day, COUNT(*) AS total_registrations
FROM (
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS start_date, CURDATE() AS end_date
) AS date_range
LEFT JOIN users ON DATE(users.registration_date) BETWEEN date_range.start_date AND date_range.end_date
GROUP BY registration_day
ORDER BY registration_day;
```
这个查询首先创建一个包含起始日期和结束日期的子查询 "date_range",其中起始日期是当前日期减去两个月。然后,通过左连接将 "users" 表与 "date_range" 子查询进行关联,并使用 BETWEEN 子句筛选出最近两个月内的注册记录。最后,按照日期分组并计算每天的注册用户人数。如果某天没有注册用户,将显示为0。查询结果将包含两个列:registration_day(日期)和 total_registrations(对应日期的注册用户人数)。
阅读全文