使用mysql 实现统计近一个年的数据和一个月的数据
1 SELECT a.allDate, 2 IFNULL(b.num,0) AS num 3 FROM 4 (SELECT 5 @s:=@s+1 AS num, 6 DATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL @s MONTH),'%Y-%m') AS allDate 7 FROM 8 information_schema.`TABLES`, 9 (SELECT @s:=-1) temp 10 WHERE 11 @s<12 12 ORDER BY allDate 13 )a 14 LEFT JOIN ( 15 SELECT COUNT(*) AS num, 16 DATE_FORMAT(pdate,'%Y-%m') AS pdate 17 FROM 18 product 19 WHERE 20 DATE_SUB(CURDATE(),INTERVAL 1 YEAR)<=pdate 21 GROUP BY 22 DATE_FORMAT(pdate,'%Y-%m') 23 24 ) b ON a.allDate=b.pdate 25 ORDER BY a.allDate
近一年可以设置条件为12,如果设置近一个月的只需要将month换成day,将条件设置成为30

浙公网安备 33010602011771号