将排名插入列

Insert ranking into column

我有一个关注PREFERENCE_SCOREtable

ID(int) | SCORE(Double) | RANKING(int) |

我想使用以下代码插入数据库

String sql = "INSERT INTO PREFERENCE_SCORE_ ( ID, 
              SCORE,RANK) VALUES (?,?,?) ";
String query ="SELECT ID,FPIS,FNIS FROM db_housekeep";
ResultSet rsp = stats.executeQuery(query);
while(rsp.next()){
    int id = rsp.getInt(1);
    double fpis = rsp.getDouble(2);
    double fnis = rsp.getDouble(3);
    prSt.setInt(1, id);
    prSt.setDouble(2, fnis/(fnis+fpis));
    prSt.setInt(3, THIS PART i dont understand)
    prSt.executeUpdate();
}

我应该添加什么才能使 RANKING 列根据 SCORE 列的数据排名自动填充?

我认为这种做法没有好处。它将为排名生成不明确的数据。 例如如果我们插入第一行(得分 99),排名将为 1,然后插入得分为 100 的第二行,排名是多少? (根据运行时计算,咆哮应该是 1,但我们已经有了 1,所以我们能做什么?)。 因此,它更愿意使用它,只显示来自 table 的 select 数据。

希望您知道 ( RANK ( ) OVER ( [ partition_by_clause ] order_by_clause ) )

的语法