[英]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.