我正在尝试计算每月的记录数。
问题:
1.如果我尝试计算从(mm/dd/yyyy) 01/01/2015
到 03/02/2015
的记录数,它只显示2 月 (2) 和 3 月 (3) 的记录在一定程度上截断了 1 月 (1)。
2.如果我尝试从 12/01/2014 到 03/02/2015 进行搜索,查询不会显示任何输出。我的表和查询。
我检查了数据库,它有十二月和一月的记录。
Table : works
work_id | desc | create_date (timestamp)
SELECT count(`work_id`) as tot
, MONTH(`create_date`) as mon
FROM `works`
WHERE bus_id_fk ="'. $_SESSION['bus_id_fk'].'"
and DATE_FORMAT(`create_date`,"%m/%d/%Y") BETWEEN "'. $sd .'" AND "'. $ed .'"
GROUP BY YEAR(create_date), MONTH(create_date)
NB: $sd = start date, $ed = end date
最佳答案
你能尝试一下这样吗:
SELECT count(`work_id`) as tot
, MONTH(`create_date`) as mon
FROM `works`
WHERE bus_id_fk ="'. $_SESSION['bus_id_fk'].'"
GROUP BY YEAR(create_date), MONTH(create_date)
您仍然会有间隙,即没有记录的月份,但在这种情况下计数为 0。
关于mysql - 获取两个日期之间的记录(时间戳)时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28803843/