mysql - 如何获得下一个最高记录而不是最高记录?

标签 mysql sql select max limit

这是我现在拥有的

需要发生的是,当查询运行时,它应该得到一个记录,其中 id 将等于下一个 id,但如果该记录不存在,它应该获取下一个,但是当我尝试运行下面的查询时,它运行并获取最后一条记录为最高记录

说清楚:

数据库中的记录:

  • 1
  • 5
  • 6
  • 7
  • 8
  • 10

因此,如果查询检查记录 2(不存在),它应该获得下一个最高值,即 5 而不是 10,我该怎么做?

        $query = "SELECT * FROM  images where images >= '$nextid'";
        $sql = mysqli_query($conn,$query) or die(mysqli_error($conn));  
        while($row = mysqli_fetch_array($sql)){

            $forwardid = $row['images_id'];
            $picname = $row['image_name'];

        }

最佳答案

试试这个

$query = "SELECT * FROM  images where images >= '$nextid' ORDER BY 
images_id ASC     LIMIT 0 , 1";

关于mysql - 如何获得下一个最高记录而不是最高记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27264545/

相关文章:

mysql - 在给定日期之后选择具有 HAVING 的行

php - UTF8 character_set_server 和 DataTables 插件

mysql - 一次 2 个 SQL 查询

mysql - 获取不以元音开头或结尾的列表字符串

cakephp - 为什么选择菜单中的第一项总是空的?

mysql - 从 mySQL 中的各种表中选择列

MySql 计算行数

mysql - 我的 Rails 应用程序中的随机 MySQL 异常

mysql - 用于大量不断插入的数据的存储引擎,这些数据应该立即可用

c# - LiNQ 在 OrderBy 之后使用 ThenBy