1

このクエリでいくつかの支援を使用できます。

ここに私のテーブルがあります:

id      name    point
1       yogi      5
2       sasi     10
3       white     5
4       black     8

私のクエリは次のとおりです。

SELECT * FROM points ORDER BY point DESC

結果は次のとおりです。

id      name    point
 2      sasi      10
 4      black      8
 1      yogi       5
 3      white      5

しかし、私は以下のような結果が欲しいです。私を案内してください。

id      name    point  rank
 2      sasi      10     1
 4      black      8     2
 1      yogi       5     3
 3      white      5     4

これは可能ですか?

前もって感謝します。

4

2 に答える 2

1

これを試して

SET @rank = 0;
SELECT *, @rank:=@rank+1 AS rank 
    FROM points ORDER BY point DESC

次のような単一行のクエリとして

SELECT *, @rank:=@rank+1 AS rank 
   FROM points, (SELECT @rank:=0) temp
   ORDER BY point DESC
于 2012-07-12T10:47:31.467 に答える
0
SELECT 
    *,
    @rank:=@rank+1 'rank' FROM points, (select @rank:=0) r
ORDER BY 
    point DESC

出典:MySQLで行番号(rownum)を表示する

于 2012-07-12T10:47:30.870 に答える