select id,user_id,
(select user_name from automessage_sys_user where user_id=a.user_id)userName,
create_time,join_type FROM automessage_sys_user_record a
select count(*)visits,1 type from automessage_sys_user_record UNION
select count(*)visits,2 type from automessage_sys_user_record where year(create_time)=year(SYSDATE()) UNION
select count(*)visits,3 type from automessage_sys_user_record where DATE_FORMAT(create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) ,'%Y%m' ) UNION
select count(*)visits,4 type from automessage_sys_user_record where to_days(create_time) = to_days(now()) UNION
select count(*)visits,5 type from automessage_sys_user_record where TO_DAYS( SYSDATE() ) - TO_DAYS(create_time) = 1
select d.date, IFNULL(T.score,0) visits from
(
SELECT CURDATE() AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 8 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 9 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 10 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 11 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 12 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 13 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 14 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 15 DAY) AS date
) d
left join(
select DATE_FORMAT(create_time,'%Y-%m-%d')create_time, COUNT(*) as score
from automessage_sys_user_record
group by DATE_FORMAT(create_time,'%Y-%m-%d')
) T on T.create_time = d.date
GROUP BY d.date
select d.date, IFNULL(T.score,0) visits from
(
SELECT CURDATE() AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 8 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 9 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 10 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 11 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 12 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 13 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 14 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 15 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 16 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 17 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 18 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 19 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 20 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 21 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 22 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 23 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 24 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 25 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 26 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 27 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 28 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 29 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 30 DAY) AS date
) d
left join(
select DATE_FORMAT(create_time,'%Y-%m-%d')create_time, COUNT(*) as score
from automessage_sys_user_record
group by DATE_FORMAT(create_time,'%Y-%m-%d')
) T on T.create_time = d.date
GROUP BY d.date
select d.date, IFNULL(T.score,0) visits from
(
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 11 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 10 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 9 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 8 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 7 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 6 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 5 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 4 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 3 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 2 month),"%Y-%m") date UNION
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 month),"%Y-%m") date UNION
select DATE_FORMAT(NOW(),"%Y-%m") FROM DUAL
) d
left join(
select DATE_FORMAT(create_time,'%Y-%m')create_time, COUNT(*) as score
from automessage_sys_user_record
group by DATE_FORMAT(create_time,'%Y-%m')
) T on T.create_time = d.date
GROUP BY d.date
DELETE FROM automessage_sys_user_record where id in
(select id FROM(
Select id,user_id,DATE_FORMAT(create_time,'%Y-%m-%d')create_time
From automessage_sys_user_record Group By user_id,DATE_FORMAT(create_time,'%Y-%m-%d') Having Count(*)>1)
k)