Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我的查询无法处理日期_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Mysql 我的查询无法处理日期

Mysql 我的查询无法处理日期,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我想返回过去最新日期的记录。。。但它不起作用 SELECT * FROM EVENTS WHERE 1 AND discipline_id IN ( 2 ) AND event_start_date < NOW( ) ORDER BY DATE( event_start_date ) ASC event_start_date is of type date in the database .. 尝试仅按事件\开始\日期订购 另外,我也不知道为什么要执行WHERE 1,因为它总

我想返回过去最新日期的记录。。。但它不起作用

SELECT * 
FROM EVENTS WHERE 1 
AND discipline_id
IN ( 2 ) 
AND event_start_date < NOW( ) 
ORDER BY DATE( event_start_date ) ASC


event_start_date is of type date in the database ..
尝试仅按事件\开始\日期订购


另外,我也不知道为什么要执行WHERE 1,因为它总是返回true。

如果要从数据库中选择最新记录,请执行以下类型的查询

SELECT * FROM 
TABLE_NAME 
WHERE DATE IN (MAX(DATE))

将近1/2个小时过去了,没有回复/反馈,一步一步地询问。。。并以此为基础

一步一个脚印。。。首先,简化为一个ID和所有日期,但应用顺序为

SELECT *
   FROM EVENTS 
   WHERE discipline_id = 2 
   ORDER BY event_start_date DESC
现在,看看结果。。。如果它没有返回任何内容,那么您要么没有数据,要么在其他地方有更大的问题。如果这样做有效,那么由于事件日期按降序排列,您应该能够看到是否有任何记录在您尝试的NOW标准之前。然后只需添加NOW标准

SELECT *
   FROM EVENTS 
   WHERE discipline_id = 2 
      AND event_start_date < NOW()
   ORDER BY event_start_date DESC
如果没有记录,那就这样吧,但是这个查询一点也不复杂。。。是的,此数据位于列表顶部的最新日期,而最旧日期位于底部。如果您只想要现在之前的最新事件,那么只需应用限制1即可获取最新事件

SELECT *
   FROM EVENTS 
   WHERE discipline_id = 2 
      AND event_start_date < NOW()
   ORDER BY event_start_date DESC
   LIMIT 1

什么不起作用?为什么在事件开始日期中使用日期?若你们想要最新的,它应该是DESC,而不是ASCI,它也不起作用……不起作用的本质是什么?你得到了错误的结果吗?你有错误吗?如果事件开始日期实际上是表中的日期数据类型,则该查询应按事件开始日期ASC对规程id=2的事件进行排序,而不进行任何更改。有什么不起作用的。。。?如果你只是简单地复制/粘贴,那么我已经修复了它,因为我碰巧把WHERE 1留在了那里。
SELECT *
   FROM EVENTS 
   WHERE discipline_id = 2 
      AND event_start_date < NOW()
   ORDER BY event_start_date DESC
   LIMIT 1