Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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从上次选择的条目开始15分钟_Php_Mysql_Date_Datetime - Fatal编程技术网

Php mysql从上次选择的条目开始15分钟

Php mysql从上次选择的条目开始15分钟,php,mysql,date,datetime,Php,Mysql,Date,Datetime,尝试仅从表中选择距离上次选择的条目大于或等于15分钟的条目。我已经尝试了以下内容,但仅在15分钟内准时收到参赛作品。示例09:00、09:15、09:30等 SELECT * FROM table WHERE MINUTE(column) % 15 = 0; 该列为DATETIME 查找select条目是否为09:02,则下一个条目将为09:17或更高。但是,如果之后的条目是13:33,它将选择高于或等于13:48的条目 谢谢 问题更新:(2018年10月4日3:15中部) 我有一个表,表

尝试仅从表中选择距离上次选择的条目大于或等于15分钟的条目。我已经尝试了以下内容,但仅在15分钟内准时收到参赛作品。示例09:00、09:15、09:30等

SELECT * FROM table  WHERE  MINUTE(column) % 15 = 0;
该列为DATETIME

查找select条目是否为09:02,则下一个条目将为09:17或更高。但是,如果之后的条目是13:33,它将选择高于或等于13:48的条目

谢谢

问题更新:(2018年10月4日3:15中部)


我有一个表,表中有一个带有DATETIME列的条目列表。我希望在特定用户/帐户上选择和计算DATETIME列相隔15分钟或更长时间的行。因此,如果用户/帐户1在2018-01-06 04:47:11、2018-01-06 04:47:59、2018-01-06 04:49:112018-01-06 04:50:01、2018-01-06 04:55:08、2018-01-06 05:00:11、2018-01-06 05:02:00、2018-01-07 04:47:12和2018-01-07 05:05:11上有条目,它应该只返回3个计数。

我建议您计算最后15分钟,并将其存储在变量中

$minusfifteen = date('Y-m-d H:i:s', time()-900);
$query = "SELECT * FROM table  WHERE  column >= $minusfifteen";
如果是的话,请确保更改我用来匹配您的日期时间格式

SQL解决方案

纯mysql解决方案:

SELECT * FROM table WHERE column >= DATE_SUB((SELECT MAX(column) FROM table), INTERVAL 15 MINUTE)

您可以使用该查询:

SELECT * FROM table WHERE TIMESTAMPDIFF(MINUTE, column, last_entry_time) >= 15;
前提是建立查询,以便
last\u entry\u time
是您所谓的“last entry”的日期时间问题更新:(2018年10月4日下午6:24中央)

这将返回我正在寻找的结果,但需要一个MySQL(非混合解决方案)


我想你把模数的作用搞混了。当您有
%15=0
时,您要求的条目可以被
15
平均整除。最后一个条目是什么意思?如何获得最后一个条目的时间?与其在两个系统之间分离逻辑,最好让DBMS来实现这一点。类似于
SELECT*FROM table WHERE column>DATE\u SUB(CURDATE(),INTERVAL 15 MINUTES)
的内容可能会起作用,并在重复建议中提到过。@adpro可能我错了,但最后一个条目datetime不是当前时间。OP问题不清楚…@adpro是的,我最好添加你的答案,这样答案更准确specific@Paolo,我想你是对的。也许这不是一个重复的问题。是的,你是对的,这是一个重复的问题。正如你所指出的,保罗最后15分钟可能指的是昨天发生的事情
$checkTime = 0; // just to start
$count= 0;
$data = array();
$sql = "SELECT  * FROM table WHERE user='10' ORDER BY DateTimeColumn ";
$result = mysqli_query($db1,$sql);
while($rowData = mysqli_fetch_array($result)) {
    if(strtotime($rowData['DateTimeColumn']) >= $checkTime) { // is it 15 or more minutes later
        $checkTime = strtotime($rowData['DateTimeColumn']) + 900; // add 15 minutes
        $count++;
        array_push($data, $rowData);
    }
}