正如查询所述,它从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;
答案 0 :(得分:3)
您按DAY(created)
进行分组,这只是该月的某一天。因此,它将6月1日,7月1日和8月1日合并为同一组,6月2日,7月2日和8月2日进入下一组,依此类推。
使用GROUP BY DATE(created)
在分组中包含月份。
答案 1 :(得分:2)
按如下方式更改您的查询
使用GROUP BY DATE(created)
代替GROUP BY DAY(created)
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 DATE(created)
ORDER BY created ASC;
答案 2 :(得分:0)
试试这个:
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;