【发布时间】:2015-05-02 10:53:27
【问题描述】:
我正在尝试统计每个月的记录数。
问题:
1.如果我尝试计算从 (mm/dd/yyyy) 01/01/2015 到 03/02/2015 的记录数,它只显示 2 月 (2) 和 3 月 (3) 的记录,有些截断 1 月 (1) .
2.如果我尝试从 2014 年 12 月 1 日到 2015 年 3 月 2 日进行搜索,则查询未显示任何输出。我的表和查询。
我检查了数据库,它有十二月和一月的记录。
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
【问题讨论】:
-
为什么是
dateformat?删除数据格式并尝试与简单的create_date进行比较。还有startdate和enddate的数据类型是什么 -
$sd 和 $ed 是
mm/dd/yyyy形式的用户输入,因此dateformat -
如果您的数据类型为日期时间,则在比较时无需格式化