在mySQL输出数据中添加排名[重复]

This question already has an answer here:

The code below is returning a table with data from mysql, but what I'm missing in the output is a generated column with a rank based on a column's data (wilks in this example). I've looked for examples and answers to similar questions, but I can't get it to work.

In short: I need an extra column next to the ID column where a rank beginning from 1 is displayed, based on the data from the Wilks column.

Thank you so much!

<?php
$con=mysqli_connect("localhost", "user", "password", "dbname");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM `Mannen` ORDER BY `Wilks` DESC");

echo "<table border='1'>
<tr>
<th>#</th>
<th>Naam</th>
<th>Lichaamsgewicht</th>
<th>Vereniging</th>
<th>Squat</th>
<th>Bench</th>
<th>Deadlift</th>
<th>Totaal</th>
<th>Wilks</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['ID'] . "</td>";
    echo "<td>" . $row['Naam'] . "</td>";
    echo "<td>" . $row['Lichaamsgewicht'] . "</td>";
    echo "<td>" . $row['Vereniging'] . "</td>";
    echo "<td>" . $row['Squat'] . "</td>";
    echo "<td>" . $row['Bench'] . "</td>";
    echo "<td>" . $row['Deadlift'] . "</td>";
    echo "<td>" . $row['Totaal'] . "</td>";
    echo "<td>" . $row['Wilks'] . "</td>";
    echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>
</div>

First, if you just want an enumerated value, you can get that using PHP.

But, it is easy enough in MySQL, using variables:

SELECT m.*, (@rn := @rn + 1) as rank
FROM Mannen m CROSS JOIN
     (SELECT @rn := 0) params
ORDER BY Lichaamsgewicht DESC;

Technically, this implements the related function of row_number() rather than rank(). Your question is unclear on what you mean by "rank".