Hola, en una base de datos tengo almacenadas algunas notas, y el nombre de los alumnos.
La idea es poder extraer el nombre del alumno que posee la nota más alta, y porspuesto también extraer esa nota.
Este es mi código:
ConexionMYSQL3 mysql = new ConexionMYSQL3();
Connection c = mysql.Conectar();
String sSQL = "SELECT Nombre, NotasFinales FROM alumno WHERE NotasFinales = max(NotasFinales)";
try {
PreparedStatement pst = c.prepareStatement(sSQL);
ResultSet rs = pst.executeQuery();
if(rs.next())
{
String a1 = rs.getString("Nombre");
int a2 = rs.getInt("NotasFinales");
t6.setText("El alumno con la nota mas alta es: "+a1+"\nY su nota es: "+a2);
}
Dice que hay un error en el código, pero no indica cual es exactamente.
Sería mucho mas fácil poder ayudarte si nos das el error, compañero :P
Saludos
Es que se supone que en WHERE no se puede meter funciones como MIN y MAX.
El error es: Invalide use of group function.
Solucionado, por casualidad se me ocurrió lo siguiente:
String sSQL = "SELECT Nombre,NotasFinales FROM alumno ORDER BY NotasFinales DESC";
Extraigo nombre y notas finales de quien tiene la nota más alta sin necesidad de hacer un WHERE.