Búsqueda Mysql + Java

Iniciado por Lain0x, 8 Diciembre 2011, 08:02 AM

0 Miembros y 1 Visitante están viendo este tema.

Lain0x

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:

Código (java) [Seleccionar]
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.

Debci

Sería mucho mas fácil poder ayudarte si nos das el error, compañero :P

Saludos

Lain0x

Es que se supone que en WHERE no se puede meter funciones como MIN y MAX.

El error es: Invalide use of group function.

Lain0x

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.