[英]Count rows in database and echo out desired row number
如果我的mysql數據庫中有5行,其ID為2、4、5、6和8,並且回顯了ID 5,那么我該如何回顯出行號,當然那將是第3行? 通過計算從數據庫開始到我之后的所有行,我得到了第3行。
嘗試使用
SELECT @row_num:=@row_num+1 as row_number, id from table inner join (select @row_num:=0) as temp
$pdo = new PDO(....);
$result = $pdo->query($sql)->fetchAll();
foreach($result as $row) {
print_r($row);
}
正確的解決方案是在表中添加一些auto_increment鍵,然后每行將分配一個順序號。 否則,不能保證每個id都具有相同的數字,因為不保證沒有ORDER BY
子句的SQL查詢具有任何順序(即,id可能以隨機順序返回)。
否則,Andrej L給出的解決方案是正確的。
您難道不可以按照使用的排序順序在此之前計算行數嗎?
COUNT(*) FROM table WHERE id < ?
在這種情況下,只有ID為2和3的行才可以計數,因此結果為2。如果您使用的是基於1的索引,請為其添加一個,然后您便得到了答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.