0

クエリについて問題があります。このようなテーブル構造があるとしましょう。

TABLE_A
Id - Standing - Point
1      null       8
2      null       9
3      null       12
4      null       11
5      null       4

このテーブルをポイント列(SELECT * FROM TABLE_A ORDER BY Point DESC)でソートすると、ソート結果に応じて更新されるスタンディング列を更新したいと思います。これらの値を並べ替えてスタンディング列に設定した後、必要な結果は次のとおりです。

TABLE_A
Id - Standing - Point
1      4        8
2      3        9
3      1        12
4      2        11
5      5        4

これを行うことは可能ですか?はいの場合、どのように?

前もって感謝します...

4

1 に答える 1

1

これは、かなり難解な構文で行うことができます。

update table_A
    set standing = (select cnt
                    from (select count(*) as cnt
                          from table_a a2
                          where a2.point >= table_A.point
                         )
                   )

ネストされた選択の使用は、MySQL で必要な構文規則にすぎません。

于 2013-03-23T14:58:26.660 に答える