如查询所述,它检索从 6 月到 8 月的记录,但为什么结果只显示到 7 月 31 日?我有 2014-06-08 到 2014-08-07 的记录。截至今天的当前月份是八月,它有问题吗?
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;
最佳答案
您按 DAY(created)
分组,这只是一个月中的某一天。因此,它将 6 月 1 日、7 月 1 日和 8 月 1 日合并到同一组,6 月 2 日、7 月 2 日和 8 月 2 日合并到下一组,依此类推。
使用 GROUP BY DATE(created)
将月份包含在分组中。
关于MySQL 按天分组不显示当月的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25176593/