$query = "SELECT uo.*,
(
SELECT COUNT(*)
FROM Score ui
WHERE (ui.score) >= (uo.score)
) AS rank
FROM Score uo
WHERE name = '$politestring';";
私のdbはidkw0t
であり、DB名はidkw0t
です。私はそれに一つのテーブルを持っています - Users
。 Users
テーブルは、4つの列、すなわちID
,Name
,Score
,Cash
を有する。彼の名前でユーザーの階級を取得
SQLクエリで特定のユーザーのランクを自分の名前で取得するにはどうすればよいですか。 ジョー[500点]、トム[10点]、ジョン[50点]という3つの名前がある場合と同様です。 私はトムのランクを尋ねると、トムが3ランクだと言ってエコーするはずです。ジョーのランクに尋ねると、ジョーが1位であると言ってエコーするはずです。
私のDBは:
select count(*)
from score s
where s.score >= (select s2.score from score s2 where s2.name = $name);
注:これはおそらくつながりがある場合は、予想される結果を返します
http://image.prntscr.com/image/7ca1ddef8cd7491d81cd9e7ee5560b77.png
使用しているデータベースで質問にタグを付けてください。 –
ユーザーまたはスコア表を意味しますか? –
@GordonLinoff私のDB - http://prntscr.com/di5mjg –