Asigne un nombre a la columna:
ResultSet rs= stmt.executeQuery("select count(name) AS count_name from db.persons where school ='"+sch+"'");
if (rs.next()) {
int count= rs.getInt("count_name");
}
También puede pasar el número del índice de la columna (en caso de que no desee modificar su consulta) que se basa en 1. Compruebe ResultSet#getInt(int columnIndex)
:
ResultSet rs= stmt.executeQuery("select count(name) from db.persons where school ='"+sch+"'");
if (rs.next()) {
int count= rs.getInt(1);
}
Aparte de esto, sería mejor si usa un PreparedStatement
para ejecutar sus consultas, tiene muchas ventajas sobre la simple Statement
como se explica aquí:Diferencia entre declaración y declaración preparada
. Su código se vería así:
String sql = "select count(name) AS count_name from db.persons where school = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, sch);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
int count = rs.getInt("count_name");
}