mysql query the daily visits of the month, if there is no visits that day, it will be empty

Case: Today is December 08 to query the traffic from December 1 to 8

create table user1(
	id int primary key auto_increment,
	name varchar(200),
	create_date datetime
);
insert into user1 values(null,'zs','2020-12-01');
insert into user1 values(null,'zs','2020-12-01');
insert into user1 values(null,'zs','2020-12-01');
insert into user1 values(null,'zs','2020-12-02');
insert into user1 values(null,'zs','2020-12-02');
insert into user1 values(null,'zs','2020-12-02');
insert into user1 values(null,'zs','2020-12-02');
insert into user1 values(null,'zs','2020-12-03');

select * from user1;

select user1.name,days.day,count(user1.`name`) from (SELECT
date_add(DATE_ADD(curdate(), INTERVAL - DAY(curdate()) + 2 DAY),
INTERVAL (cast( help_topic_id AS signed INTEGER ) - 1 ) DAY
) DAY
FROM
mysql.help_topic
WHERE
help_topic_id < DAY ( curdate( ) )

ORDER BY
help_topic_id) days left join user1 on date(days.day) = date(user1.create_date) group by days.day,user1.name;

Guess you like

Origin blog.csdn.net/dndndnnffj/article/details/110913447