0
我试图弄清楚如何从SQL表中获取一行数。在我的情况下,我需要根据他/她的分数得到用户的排名。我有下面的代码将做到这一点,但是有没有更好的方法来帮助这只是一个查询?从SQL查询中获取一行数
$rank = 0;
$username = $_SESSION['user'];
$query = "SELECT username, SUM(`score`) as total_score FROM answers GROUP BY username ORDER BY total_score DESC";
if ($stmt = mysqli_prepare($connect, $query)) {
mysqli_stmt_bind_param($stmt);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $uname, $score);
while (mysqli_stmt_fetch($stmt)) {
$user = $uname;
$rank++;
if ($user == $username) {
echo $rank;
break;
}
}
mysqli_stmt_close($stmt);
}
谢谢,如何编辑此查询,如果我只是想吨他为一个用户排名?或者我必须通过所有用户进行查询? – mattjon
一个yser表示第一个或其他用户 –
已更新的答案请检查 –