Как найти максимальное значение столбца 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 ответа
Как сказал Лука, проблема в том, что ваш запрос не возвращает столбец с именем "idrf", а что-то вроде: "max(idrf)".
Это означает, что когда вы используете getInt("idrf")
в resultSet, возвращенном вашим запросом, нет совпадений.
Это, как говорится, вам нужно использовать
SELECT max(`idrf`) as idrf
(или любое другое имя для вашего столбца resultSet), как ответил Лука, и используйте это как ключ к вашему getInt.