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

Php SQL-获取日期范围内的记录,包括当天记录,php,mysql,sql,sql-server,Php,Mysql,Sql,Sql Server,我正在为一些(希望)简单的事情而挣扎。我有一个在线日志,我每天都会查看。每天都有许多日志,我必须回顾,因此我构建了一个简单的日期过滤器,在主页上筛选每天的日志 现在,当第一次加载主页时(也就是说,使用默认的过滤条件),我希望页面显示文件中最近一天的所有日志。因此,如果今天是本月10号,最近的一个案例是在8号提交的,那么我想查询8号的所有案例 另一方面,如果有人已经提交了10号的日志文件,那么我想显示10号的所有记录 现在的问题是,查询确实准确地识别了最后一条记录的日期,但截止时间似乎是午夜或00

我正在为一些(希望)简单的事情而挣扎。我有一个在线日志,我每天都会查看。每天都有许多日志,我必须回顾,因此我构建了一个简单的日期过滤器,在主页上筛选每天的日志

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

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

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

质疑

总之,我如何过滤最近一天的记录,而不关心它们是在什么时候提交的


谢谢

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

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

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

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

我认为除了只使用“日期”的
date
部分外,还需要关联
Holidex
上的子查询:


这假设“最近日期”是根据
Holidex

我认为除了只使用“日期”的
日期部分外,还需要关联
Holidex
上的子查询:


这假设“最近的日期”是根据
Holidex

查看,如果没有日期字段的类型,则很难判断。如果没有日期字段的类型,则很难判断。谢谢,这也很有效,但是
Holidex
与我在这里执行的
date
操作无关。Holidex只是我用来区分用户提交的唯一用户标识符。不过,非常感谢@阿米塔格2K。在这种情况下,VKP的解决方案是正确的解决方案。从这个问题来看,似乎您(可能)想要“holidex”的最近一天,而不是如果这不是数据中的最近一天,那么就没有行返回。很抱歉,没有足够清楚,但仍然感谢您花时间研究这一点。谢谢,这也可以工作,但是
Holidex
与我在这里执行的
date
操作无关。Holidex只是我用来区分用户提交的唯一用户标识符。不过,非常感谢@阿米塔格2K。在这种情况下,VKP的解决方案是正确的解决方案。从这个问题来看,似乎您(可能)想要“holidex”的最近一天,而不是如果这不是数据中的最近一天,那么就不返回任何行。很抱歉没有足够清楚,但仍然感谢您花时间研究这一点。
SELECT d.*
FROM qci_dmlog_data d
WHERE d.Holidex = '".$_SESSION['Holidex']."' AND
      DATE(d.Incident_Date) = (SELECT MAX(DATE(d2.Incident_Date))
                               FROM qci_dmlog_data d2
                               WHERE d2.Holidex = d.Holidex
                              );