Mysql 统计每半年不同年份的行数

Mysql 统计每半年不同年份的行数,mysql,count,Mysql,Count,我想计算过去半年每个月的ID数量,以下是我的查询: SELECT count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE) UNION SELECT `count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) UNION SELECT count(`Id`) FROM `items` WHERE MONT

我想计算过去半年每个月的ID数量,以下是我的查询:

SELECT count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE) UNION SELECT `count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) UNION SELECT count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE - INTERVAL 2 MONTH) UNION SELECT count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE - INTERVAL 3 MONTH) UNION SELECT count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE - INTERVAL 4 MONTH) UNION SELECT count(`Id`) FROM `items` WHERE MONTH(Created) = MONTH(CURRENT_DATE - INTERVAL 5 MONTH);`
Created
是所创建行的时间戳


我的问题是第四个月、第五个月和第六个月。因为它们是在2013年(不同年份)创建的,所以我的查询无法得到它们的结果。

我将从以下内容开始:

SELECT MONTH(created), count(*)
FROM `items`
WHERE Created >= LAST_DAY(current_date() - INTERVAL 6 MONTH) + INTERVAL 1 DAY
GROUP BY MONTH(created)
如果
LAST_DAY(current_date()-INTERVAL 6 MONTH)+INTERVAL 1 DAY
将返回开始计数的月份的第一天,您可能还希望按月份和年份分组:

SELECT DATE_FORMAT(created, '%Y-%m'), count(*)
FROM `items`
WHERE Created >= LAST_DAY(current_date() - INTERVAL 6 MONTH) + INTERVAL 1 DAY
GROUP BY DATE_FORMAT(created, '%Y-%m')

我将从以下内容开始:

SELECT MONTH(created), count(*)
FROM `items`
WHERE Created >= LAST_DAY(current_date() - INTERVAL 6 MONTH) + INTERVAL 1 DAY
GROUP BY MONTH(created)
如果
LAST_DAY(current_date()-INTERVAL 6 MONTH)+INTERVAL 1 DAY
将返回开始计数的月份的第一天,您可能还希望按月份和年份分组:

SELECT DATE_FORMAT(created, '%Y-%m'), count(*)
FROM `items`
WHERE Created >= LAST_DAY(current_date() - INTERVAL 6 MONTH) + INTERVAL 1 DAY
GROUP BY DATE_FORMAT(created, '%Y-%m')

考虑提供适当的DDL(和/或SqLFIDLE)连同期望的结果集,考虑提供适当的DDL(和/或SqLFIDLE)以及理想的结果SETWORKS。非常感谢。工作完美。非常感谢。