Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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
返回mysqli/php中2个字段范围之间的最大值_Php_Mysql - Fatal编程技术网

返回mysqli/php中2个字段范围之间的最大值

返回mysqli/php中2个字段范围之间的最大值,php,mysql,Php,Mysql,我有一个数据库,从1开始按id排序 我还为每个记录设置了一个时间戳顺序,即'stamptime' 我尝试在id=10和id=15之间返回max'stamptime'。我尝试了这个代码,但没有成功 $sql = "SELECT MAX(stamptime) as max, id FROM Articls ORDER BY id DESC LIMIT 10, 15"; $result = $conn->query($sql); $row = mysqli_fe

我有一个数据库,从1开始按
id
排序

我还为每个记录设置了一个时间戳顺序,即
'stamptime'

我尝试在
id=10
id=15
之间返回max
'stamptime'
。我尝试了这个代码,但没有成功

 $sql = "SELECT MAX(stamptime) as max, id FROM Articls ORDER BY id DESC LIMIT 10, 15";
        $result = $conn->query($sql);
        $row = mysqli_fetch_array($result);
        $this->disconnectDB($conn);
        return $row['0'];
正确的方法是什么?

这应该可以:

SELECT ID, MAX(STAMPTIME) AS MAX FROM ARTICLS WHERE ID>9 AND ID<16 ORDER BY ID DESC
从ARTICLS中选择ID,MAX(STAMPTIME)作为MAX,其中ID>9和ID限制是返回多少行。您想在
之间使用


您当前的代码表示选择将作为第1行返回的最大时间戳。不过,命令是从第11行开始返回,然后返回15行,这些行都是空的。从limit doc中,
第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数
您只能使用带有
desc
order by
子句,然后使用
limit 1

select
stamptime,
id 
from Articls
where id between 10 and 15
order by stamptime desc limit 1

值得一提的是,如果我正确地描述了您的结构,您就不需要“orderby”,因为您应该只返回一行。
LIMIT 10,15
似乎是错误的-尤其是在按降序排序时。如果id>=10和id
select
stamptime,
id 
from Articls
where id between 10 and 15
order by stamptime desc limit 1