Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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
Php 如何从MYSQL获取阵列中排除今天(下午2:30之前)的数据行_Php_Mysql - Fatal编程技术网

Php 如何从MYSQL获取阵列中排除今天(下午2:30之前)的数据行

Php 如何从MYSQL获取阵列中排除今天(下午2:30之前)的数据行,php,mysql,Php,Mysql,在MySql中… 如何从MYSQL获取阵列中排除今日日期(每天下午2:30之前)数据行。。 如何使用PHP+mysql发布今日结果+Last3 示例表:ALLRESULTDATA 如何获取最近3天的结果(不包括今天发布后下午2:30的结果) 以下查询将包括今天的行和过去三天的行: SELECT * FROM ALLRESULTDATA WHERE `date` = CURDATE() OR `date` >= DATE_ADD(CURDATE(), INTERVAL -3 D

在MySql中…

如何从MYSQL获取阵列中排除今日日期(每天下午2:30之前)数据行。。 如何使用PHP+mysql发布今日结果+Last3

示例表:ALLRESULTDATA

如何获取最近3天的结果(不包括今天发布后下午2:30的结果)


以下查询将包括今天的行和过去三天的行:

SELECT *
FROM ALLRESULTDATA
WHERE
  `date` = CURDATE()
  OR 
  `date` >= DATE_ADD(CURDATE(), INTERVAL -3 DAY)
ORDER BY `date` DESC
LIMIT 4
SQL Fiddle:

我想你的意思是,如果时间在14:30之后,那么只包括今天的结果,这可能是有可能的,但在我看来,在MySQL中这将是笨拙的

我认为您最好用php获取当前时间,如果它更大,则运行上面的查询,如果没有,则运行其他查询,例如:

SELECT *
FROM ALLRESULTDATA
WHERE
  `date` != CURDATE()
  AND
  `date` >= DATE_ADD(CURDATE(), INTERVAL -3 DAY)
ORDER BY `date` DESC
LIMIT 3
i、 e.将第一个条件运算符更改为
=并将
更改为
,然后将
限制
更改为
3

今天,小提琴除外:

编辑

我刚刚注意到您的评论说日期存储为
VARCHAR(10)
,如果可能的话,我建议更改您的模式,以便将日期存储为
DATE


另一种选择是功能,但是我认为如果你不得不使用它,性能不会特别好。

你能用更多的细节来澄清吗?日期列是varchar还是DATETIME/TIMESTAMP?给出表定义,这样我们就可以帮助你如果这些条目是你给我们的查询的结果,那么它肯定不是DATETIME,也不是TIMESTANTNKS。。。日期是varchar(10)..@UiDesigner别忘了在答案左侧用绿色复选标记将答案标记为已接受
SELECT *
FROM ALLRESULTDATA
WHERE
  `date` = CURDATE()
  OR 
  `date` >= DATE_ADD(CURDATE(), INTERVAL -3 DAY)
ORDER BY `date` DESC
LIMIT 4
SELECT *
FROM ALLRESULTDATA
WHERE
  `date` != CURDATE()
  AND
  `date` >= DATE_ADD(CURDATE(), INTERVAL -3 DAY)
ORDER BY `date` DESC
LIMIT 3