Как найти максимальное значение столбца mysql и вернуть значение?

Я хочу найти максимальное значение столбца, но найденное значение постоянно получает 0

public  int maXnumR()
{
    DataBase s = DataBase.getInstance();
    int numR= getnumR();

    String req1 = "SELECT max(`idrf`) FROM   `reference`  WHERE `numR` = "
        + numR + " GROUP BY `numR` ";

    try 
    {
        Statement m=  s.getConn().createStatement();
        ResultSet r1 = m.executeQuery(req1);
        while (r1.next()) 
        {
            maxnumR =r1.getInt("idrf");
            nbp++;  
        } 
    } 
    catch (SQLException e1) 
    {
        e1.printStackTrace();
        System.out.println("maXnumR : "+e1);
    } 
    return maxnumR;
}

maXnumR возвращает 0, и таблица не пуста.

если я выполню запрос, он отлично работает с MySQL

ERREUR:

java.sql.SQLException: Column 'idrf' not found.
maXnumR : java.sql.SQLException: Column 'idrf' not found.
idrf existe:0

2 ответа

Пытаться

SELECT max(`idrf`) as idrf

Как сказал Лука, проблема в том, что ваш запрос не возвращает столбец с именем "idrf", а что-то вроде: "max(idrf)".

Это означает, что когда вы используете getInt("idrf") в resultSet, возвращенном вашим запросом, нет совпадений.

Это, как говорится, вам нужно использовать

SELECT max(`idrf`) as idrf

(или любое другое имя для вашего столбца resultSet), как ответил Лука, и используйте это как ключ к вашему getInt.

Другие вопросы по тегам