从SQL表中获取以前的记录

时间:2018-06-07 02:35:01

标签: php sql mysqli

我弄清楚如何使用它来获得下一个adid:

$sql_next = "SELECT adid FROM table WHERE adid > $current_adid ORDER BY adid 
LIMIT 1";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {

$next = $row['adid'];

echo '<a href="https://someurl.com/'.$next.'">Next</a>';

}
}

但是,我不知道如何获得以前的adid。我尝试改变WHERE adid < $current_adid,但它没有做到这一点。我应该使用什么来从SQL表中获取以前的记录?

1 个答案:

答案 0 :(得分:2)

您需要反转的不仅仅是比较:

SELECT adid
FROM table
WHERE adid < $current_adid
ORDER BY adid DESC
LIMIT 1;

ORDER BY方向也需要反转。

您也可以将其替换为:

SELECT MIN(adid)
FROM table
WHERE adid > $current_adid;

SELECT MAX(adid)
FROM table
WHERE adid < $current_adid;

聚合函数可能会使逻辑更清晰。