Título: Seleccionar el valor mas alto de una columna y que muestre la información Publicado por: glmalpica en 21 Noviembre 2019, 19:44 pm Buenas Tardes
Tengo un problema En una tabla de MySQL tengo 4 campos, ID, Nombre, Fecha, Calificacion, en esta tabla se registran las calificaciones por día de N participantes, por lo que el "Nombre" aparece varias veces, necesito saber que día se obtuvo la calificación mas alta, para lo cual estoy usando la sentencia: select Nombre, Fecha, MAX(Calificacion) as Calificacion from evento where Nombre = 'Panchito' group by Nombre; con esto obtengo, el Nombre correcto, la primera fecha que aparece en los registros, no la correcta y el valor máximo, ¿como puedo obtener la fecha en que se obtuvo el valor máximo? Gracias Título: Re: Seleccionar el valor mas alto de una columna y que muestre la información Publicado por: engel lex en 21 Noviembre 2019, 19:51 pm Código: select Nombre, Fecha, MAX(Calificacion) as Calificacion from evento where Nombre = 'Panchito' group by Nombre; hay que tener cuidado con group by, no siempre ordena todo como se espera... creo que con el MAX ya te lo limitaría a un solo resultado ya que hay solo un maximo... en caso de darte mas de un resultado como solo te importa el primero, puedes usar LIMIT 1 de la siguiente manera Código: select Nombre, Fecha, MAX(Calificacion) as Calificacion from evento where Nombre = 'Panchito' LIMIT 1; Título: Re: Seleccionar el valor mas alto de una columna y que muestre la información Publicado por: glmalpica en 21 Noviembre 2019, 22:29 pm Gracias, sigo obteniendo el mismo resultado, el nombre es el correcto, la fecha no, me pone la primera que encuentra con ese nombre, el valor máximo es correcto, la tabla es la siguiente:
Nombre Fecha Calificacion Panchito 04/04/2019 23.4 Panchito 07/04/2019 25.3 Panchito 22/04/2019 22.2 Panchito 04/05/2019 21 Panchito 12/05/2019 26.4 Panchito 04/06/2019 24.3 Panchito 16/06/2019 19.9 Panchito 22/06/2019 22.8 Panchito 09/07/2019 21.4 Panchito 18/07/2019 24.4 Panchito 15/08/2019 25.3 Panchito 28/08/2019 20.9 Panchito 05/09/2019 23.8 Panchito 04/10/2019 21.2 Panchito 12/11/2019 22.6 Panchito 14/11/2019 24.7 el resultado es el siguiente: Nombre Fecha Calificacion Panchito 04/04/2019 26.4 el resultado correcto debe ser: Nombre Fecha Calificacion Panchito 12/05/2019 26.4 Gracias Título: Re: Seleccionar el valor mas alto de una columna y que muestre la información Publicado por: engel lex en 22 Noviembre 2019, 00:17 am entonces puedes usar con order by
Código: select Nombre, Fecha, Calificacion from evento where Nombre = 'Panchito' ORDER BY Calificacion DESC LIMIT 1 |