MySQL按天分组不显示当月结果

MySQL按天分组不显示当月结果,mysql,group-by,Mysql,Group By,如查询所述,它检索6月到8月的记录,但为什么结果只显示到7月31日?我有2014-06-08到2014-08-07的记录。从今天起的当月是8月,它有问题吗 SELECT COUNT(*) AS, DATE(created) FROM battle WHERE player_id = 1234 AND enemy_id = 4567 AND created BETWEEN '2014-06-01 00:00:00' AND '2014-08-31 23:59:59' GROUP BY DAY(cr

如查询所述,它检索6月到8月的记录,但为什么结果只显示到7月31日?我有2014-06-08到2014-08-07的记录。从今天起的当月是8月,它有问题吗

SELECT COUNT(*) AS, DATE(created)
FROM battle
WHERE player_id = 1234 AND enemy_id = 4567
AND created BETWEEN '2014-06-01 00:00:00' AND '2014-08-31 23:59:59'
GROUP BY DAY(created)
ORDER BY created ASC;

您将按
天(已创建)
进行分组,这只是一个月中的一天。所以它将6月1日、7月1日和8月1日合并为同一组,6月2日、7月2日和8月2日合并为下一组,依此类推


使用
按日期分组(已创建)
将月份包括在分组中。

您按
天(已创建)
分组,这正好是月份的一天。所以它将6月1日、7月1日和8月1日合并为同一组,6月2日、7月2日和8月2日合并为下一组,依此类推


使用
按日期分组(已创建)
将月份包括在分组中。

按如下方式更改查询

使用
按日期分组(已创建)
而不是
按天分组(已创建)


按如下方式更改您的查询

使用
按日期分组(已创建)
而不是
按天分组(已创建)

试试这个:

SELECT COUNT(*) AS, DATE
FROM battle
WHERE player_id = 1234 AND enemy_id = 4567
AND Date BETWEEN '2014-06-01 00:00:00' AND '2014-08-31 23:59:59'
GROUP BY Date
ORDER BY Date ASC;
试试这个:

SELECT COUNT(*) AS, DATE
FROM battle
WHERE player_id = 1234 AND enemy_id = 4567
AND Date BETWEEN '2014-06-01 00:00:00' AND '2014-08-31 23:59:59'
GROUP BY Date
ORDER BY Date ASC;

哦,天是问题所在,thnx!哦,天是问题所在,thnx!谢谢你简单的解释。谢谢你简单的解释。