簡體   English   中英

如何獲得下一個最高記錄而不是最高記錄?

[英]How to get the next highest record but not the highest record?

這就是我現在所擁有的

需要發生的是,當查詢運行時,它應該獲得一條記錄,其中id等於下一個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";

嘗試這個:

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

您可以添加另一個迭代,該迭代將您的資源轉換為數組,並且還包含下一個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++;
}

獲取下一條記錄

您可以嘗試以下操作。 我認為它將為您提供幫助。

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

注意:這2是您指定的'images_id'

你可以用這個

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

看看這個並運行,讓我知道您是否需要其他東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM