php - SQL - 获取日期范围内的记录,包括。当日记录

标签 php mysql sql sql-server

我在这里正在努力解决一些(希望)简单的事情。我有一个在线日志,每天都会查看。每天都有许多我必须查看的日志案例,因此我构建了一个简单的日期过滤器来筛选主页上每天的日志案例。

现在,当第一次加载主页时(即使用默认过滤条件),我希望页面显示文件中最近一天的所有日志案例。因此,如果今天是本月的 10 号,并且最近的案例是在 8 号提交的,那么我想查询从 8 号开始的所有案例。

另一方面,如果有人已经提交了 10 日的日志文件,那么我想显示 10 日以来的所有记录。

现在的问题是,查询确实准确地识别了最后一条记录的日期,但截止时间似乎是午夜或 00:01,这意味着它不会显示当天一分钟后提交的任何日志文件午夜过去了!因此,如果我想查看今天的案例,我只会看到 00:00 到 00:01 之间提交的案例,从而使整个过滤器变得毫无用处。

查询

$sql = "SELECT *
FROM qci_dmlog_data
WHERE Incident_Date IN (
    SELECT MAX( Incident_Date )
    FROM qci_dmlog_data
    WHERE Holidex = '".$_SESSION['Holidex']."'
)
GROUP BY LogID ORDER BY Date DESC";

总而言之,如何过滤最近一天的记录而不关心它们提交的时间?

谢谢!

最佳答案

您应该查找事件日期的日期部分以获取最近日期的所有记录。

SELECT *
FROM qci_dmlog_data
WHERE DATE(Incident_Date) IN (
    SELECT MAX(DATE(Incident_Date))
    FROM qci_dmlog_data
    WHERE Holidex = '".$_SESSION['Holidex']."'
)

关于php - SQL - 获取日期范围内的记录,包括。当日记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41909295/

相关文章:

php - 如何告诉 ZF2 的 JsonModel 返回 text/plain 而不是 application/json?

php - 将数据库转换为 CSV 并将文件保存到服务器上的文件夹

javascript - 编辑Wordpress模板

PHP、MYSQL、EXPLODE 和 ARRAYS

MySQL 5.7 Windows,表键问题?

c# - U-SQL 将一列拆分为两列,由 "-"分隔

mysql - 从数据中获取第一个记录的发生日期

mysql - 我如何使用 sequelize ORM 将列定义为 tinyint(4)

PHP PDO : charset, 设置名称?

SQL 按连续行的 session 对行进行排名