Вставьте рейтинг в столбец - PullRequest
0 голосов
/ 07 мая 2018

у меня есть следующая PREFERENCE_SCORE таблица

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?

1 Ответ

0 голосов
/ 07 мая 2018

Я думаю, что такой подход не выгоден. Это будет генерировать неоднозначные данные для ранга. например если мы вставим первую строку с (оценка 99), ранг будет 1, а после него мы вставим вторую строку с оценкой 100, что такое ранг? (согласно расчету времени выполнения rant должен 1, но у нас уже есть 1, так что мы можем сделать?). Таким образом, его предпочитают использовать только выберет данные из таблицы для показа.

Надеюсь, вы знаете синтаксис как (RANK ( ) OVER ( [ partition_by_clause ] order_by_clause ))

...