【问题标题】:How to get the next highest record but not the highest record?如何获得下一个最高记录而不是最高记录?
【发布时间】:2014-12-03 16:26:04
【问题描述】:

这就是我现在拥有的

需要发生的是,当查询运行时,它应该得到一个记录,其中 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'];

        }

【问题讨论】:

  • 它返回最高值,因为您选择 >= 2 返回 5,6,7,8,9。然后循环遍历所有变量,依次将 $forwardid 和 $picname 设置为每一个,当循环完成时,变量中就有最后两个。有关如何更改查询以仅获得一个结果,请参阅下面的答案。

标签: mysql sql select max limit


【解决方案1】:

试试这个

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

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT * 
    FROM images 
    WHERE images_id >= 2 
    ORDER BY images_id 
    LIMIT 1;
    

    【讨论】:

      【解决方案3】:

      您可以添加另一个迭代,将您的资源转换为数组并包含下一个 ID

      $result = mysql_query(" your query ");                
      $recordset = array(); $i = 0;
      while ($row = mysql_fetch_assoc($result))
      {
          $recordset[$i] = $row;
          if ($i > 0) { $recordset[$i-1]['nextid'] = $row['id']; }
          $i++;
      }
      

      Get the next record

      【讨论】:

        【解决方案4】:

        你可以尝试如下。我想它会对你有所帮助。

        select * from images where images_id=
        (select Min(images_id) from images  where images_id>=2)
        

        注意:这里 2 是您给定的“images_id”

        【讨论】:

          【解决方案5】:

          你可以用这个

          SELECT MAX(records) FROM images WHERE records < (SELECT MAX(records) FROM images)
          

          看看这个并运行,如果您需要不同的东西,请告诉我。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-03-20
            • 2013-01-05
            • 1970-01-01
            • 1970-01-01
            • 2012-02-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多