(一)、mysql按月份统计数据
这里需要创建一个tmp表,里面有最近一年的日期,查询时即可通过tmp来进行数据组装。
tmp表

CREATE TABLE `my_date_tmp` (
  `date` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

查询语句:

SELECT
	DATE_FORMAT(md.date, '%Y-%m') t,
	count(a.id)
FROM
	my_date_tmp md
LEFT JOIN sys_user_tb a ON DATE_FORMAT(md.date, '%Y-%m') = DATE_FORMAT(a.CREATE_DATE, '%Y-%m') 
WHERE
	DATE_FORMAT(md.date, '%Y-%m') BETWEEN '2019-01' and '2019-12'
GROUP BY
	t;

代码、SQL片段

相关文章: