mysql - 获取两个日期之间的记录(时间戳)时出现问题

标签 mysql sql date

我正在尝试计算每月的记录数。

问题:

1.如果我尝试计算从(mm/dd/yyyy) 01/01/201503/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/

相关文章:

mysql - 我需要更快的 SQL 查询来查找过期的订阅者

php - 访问我的 MySQL 数据库被拒绝

mysql - SQL 中的小数位

sql - Excel 到具有较大数据集(>2000 条记录)的远程 oracle 数据库。使用支持 FetchSize 的驱动程序存储 proc 调用

sql - 如何在 SQL Server 2008 中获取本周的开始日期?

mysql - 启动tomcat时 Sonar SQLException

mysql - 在 MySQL 中使用字符串的数字组件对字符串进行数字排序的首选方法是什么?

mysql - 如何在两个表之间排序?

Swift:设置 DateComponents 年份时的意外行为

javascript - 通过javascript(activexobject)创建Excel单元格时如何自定义日期格式?