Mysql 统计每半年不同年份的行数
我想计算过去半年每个月的ID数量,以下是我的查询: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
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。非常感谢。工作完美。非常感谢。