如何在订购 MYSQL table 时获取行的位置
How to get the position of a row when a MYSQL table is ordered
我想在按降序排列table时找到一行的位置。我使用以下命令按降序排列行。
SELECT * FROM feature Order BY Votes DESC
我需要找出该行与其他行相比处于什么位置,例如第 1、5、8...
我正在考虑使用一个循环,该循环按从大到小的顺序遍历每个值,如果投票大于前一个值但大于下一个值,则可以找到该位置。但是,如果 table 中有很多行,我发现这是不切实际的。我怎样才能找到一行的相对位置?一个简单的方向就足够了。
如果我理解正确的话,您可以将结果作为关联数组进行循环,每次迭代都会增加一个 $i 变量。 $i 变量会按顺序告诉您每一行的位置。
$query = "SELECT * FROM feature Order BY Votes DESC";
$result = mysqli_query($connect, $query);
$i = 1;
while ($row = mysqli_fetch_assoc($result)) {
$id = $row['idColumnName'];
if ($id == 'idNumber'){
echo("My ID is: ".$id." and I am voted number: ".$i);
}
$i++;
}
我想在按降序排列table时找到一行的位置。我使用以下命令按降序排列行。
SELECT * FROM feature Order BY Votes DESC
我需要找出该行与其他行相比处于什么位置,例如第 1、5、8... 我正在考虑使用一个循环,该循环按从大到小的顺序遍历每个值,如果投票大于前一个值但大于下一个值,则可以找到该位置。但是,如果 table 中有很多行,我发现这是不切实际的。我怎样才能找到一行的相对位置?一个简单的方向就足够了。
如果我理解正确的话,您可以将结果作为关联数组进行循环,每次迭代都会增加一个 $i 变量。 $i 变量会按顺序告诉您每一行的位置。
$query = "SELECT * FROM feature Order BY Votes DESC";
$result = mysqli_query($connect, $query);
$i = 1;
while ($row = mysqli_fetch_assoc($result)) {
$id = $row['idColumnName'];
if ($id == 'idNumber'){
echo("My ID is: ".$id." and I am voted number: ".$i);
}
$i++;
}