簡體   English   中英

如何在mysql中選擇頂部第三行

[英]How to select the top third row in mysql

伙計們正在嘗試選擇第一行/最近的第三行,我嘗試了這一行,但它不起作用,我在哪里出錯?

<?php
$sql = "SELECT * FROM songs ORDER BY id ASC LIMIT 1,2;";
$result = mysqli_query($con, $sql);
$resultCheck = mysqli_num_rows($result);

if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row['artist'];
    }
}
?>

使用偏移:

SELECT * FROM songs ORDER BY id ASC LIMIT 1 OFFSET 2

速記(您正在使用的)是相反的,因此先是OFFSET,然后是LIMIT:

SELECT * FROM songs ORDER BY id ASC LIMIT 2,1;

使用偏移

這里的限制1只是意味着您需要一個記錄,而偏移量則意味着跳過前2個

SELECT * FROM songs ORDER BY id ASC LIMIT 1 OFFSET 2

限制后使用的參數應該顛倒。 第一個參數是偏移量,第二個參數是所需的記錄數。

SELECT * FROM songs ORDER BY id ASC LIMIT 2,1

這只是我的意見-此類排序應始終在客戶端軟件中進行。 提取數據-刪除SQL的ORDER BY ...在客戶端中對其進行排序,然后選擇第三行並將其返回給調用方。

與通過SQL查詢驅動所有這些功能相比,您將獲得更好的可伸縮性和可維護性。

通過定制軟件解決這些類型的問題時,這是我的首選方法,並且隨着時間的推移,這種方法已經得到證明。

考慮一下:從歌曲中選擇ID

將ID放入您的代碼中,然后將其排序。 然后在列表中選擇第三個。 然后:

從ID = VALUE FROM上述ID的歌曲中選擇標題,作者,藝術家...

是的,您要訪問數據庫兩次,但這是兩個非常有效的查詢,並且隨着數據庫的擴展,性能將比您建議的查詢順序更好。

暫無
暫無

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

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