Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Max y Group By

Estas en el tema de Max y Group By en el foro de Mysql en Foros del Web. Hola a todos. Me estoy rompiendo los cuernos con una consulta fácil de entender pero difícil de ejecutar :S Imaginemos que tenemos una tabla en ...
  #1 (permalink)  
Antiguo 31/01/2006, 03:47
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Max y Group By

Hola a todos.

Me estoy rompiendo los cuernos con una consulta fácil de entender pero difícil de ejecutar :S
Imaginemos que tenemos una tabla en Mysql con los siguientes datos:

Código:
(estudiante, nota, semana)
A - 10 - 1
B - 3 - 1
C - 6 - 1
A - 3 - 2
B - 8 - 2
C - 4 - 2
A - 7 - 3
B - 5 - 3
C - 6 - 3
Yo quiero consultar, para cada semana, cual es el estudiante que ha obtenido la nota máxima.

Haciendo
Código:
SELECT max(nota), semana FROM tabla GROUP BY semana
obtengo las notas máximas de cada semana

Código:
(max, semana)
10 - 1
8 - 2
7 - 3
pero, ¿cómo obtengo ese estudiante?

Código:
(estudiante, max, semana)
A - 10 - 1
B - 8 - 2
A - 7 - 3
¡Muchas gracias!

Última edición por peaso; 31/01/2006 a las 04:13
  #2 (permalink)  
Antiguo 31/01/2006, 03:52
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
¿No te sale si pones esto?:
Código:
SELECT estudiante, max(nota), semana FROM tabla GROUP BY semana
  #3 (permalink)  
Antiguo 31/01/2006, 04:13
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Nop. Siempre sale el estudiante A:

Código:
(estudiante - nota - semana)
A - 10 - 1
A - 8 - 2
A - 7 - 3
  #4 (permalink)  
Antiguo 31/01/2006, 04:32
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Bueno... lo he solucionado en dos pasos.

* Primero selecciono cuál es la nota máxima de cada semana.
* Después busco cuál es el estudiante que obtuvo esa nota en esa semana.

Si alguien lo sabe hacer de una sola tacada, que avise ;)

Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:20.