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

Obtener valor maximo de un campo diariamente

Estas en el tema de Obtener valor maximo de un campo diariamente en el foro de Bases de Datos General en Foros del Web. Hola Amigos, son nuevo en el tema de bases de datos, tengo la siguiente duda: Como obtener de una tabla la información del valor máximo ...
  #1 (permalink)  
Antiguo 14/08/2009, 12:49
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Busqueda Obtener valor maximo de un campo diariamente

Hola Amigos, son nuevo en el tema de bases de datos, tengo la siguiente duda:
Como obtener de una tabla la información del valor máximo de la puntuación obtenida de cada participante diariamente, teniéndose diferente número de participaciones por día, 4 participaciones por hora.
Otra consulta será de obtener la hora de mayor puntuación diariamente.

Tabla: competencia
participante text
fecha date
puntuacion int


Saludos
Y gracias por sus comentarios
  #2 (permalink)  
Antiguo 14/08/2009, 13:46
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Obtener valor maximo de un campo diariamente

Código sql:
Ver original
  1. SELECT *FROM competencia WHERE puntuacion = (SELECT MAX(puntuacion) FROM competencia)

Para la hora, sería necesario que el campo no fuera date sino datetime.

Código sql:
Ver original
  1. SELECT *,TIME(fecha) hora FROM competencia WHERE puntuacion = (SELECT MAX(puntuacion) FROM competencia)

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 14/08/2009, 16:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Respuesta: Obtener valor maximo de un campo diariamente

Gracias por la respuesta, probablemente no explique con detalle mi intencion,
al probarlo me arroja datos de 1 solo participante, pero son muchos participantes.
Pero lo que requiero es obtener el valor maximo de puntuacion de cada participante en cada uno de los dias por cada uno de los diferentes participantes
En el siguiente extracto de la B.D

Participante Fecha Puntuacion
Juan 2009-08-01 10:00:00 6
Juan 2009-08-01 10:15:00 8
Juan 2009-08-01 12:00:00 9
Juan 2009-08-01 12:45:00 8
Pedro 2009-08-01 09:00:00 5
Pedro 2009-08-01 10:00:00 5
Pedro 2009-08-01 10:30:00 7
Alma 2009-08-01 10:30:00 7
Alma 2009-08-01 10:45:00 7
Alma 2009-08-01 11:15:00 7
Juan 2009-08-01 10:00:00 7
Juan 2009-08-02 10:15:00 10
Juan 2009-08-02 13:00:00 9
Juan 2009-08-02 13:45:00 9
Pedro 2009-08-02 09:15:00 5
Pedro 2009-08-02 10:15:00 6
Pedro 2009-08-02 10:45:00 7
Alma 2009-08-02 10:00:00 7
Alma 2009-08-02 10:15:00 7
Alma 2009-08-02 10:30:00 8

El resultado que esperaria de la consulta entre los dias 2009-08-01 al 2009-08-02 seria

Juan 2009-08-01 12:00:00 9
Pedro 2009-08-01 10:30:00 7
Alma 2009-08-01 11:15:00 7
Juan 2009-08-02 10:15:00 10
Pedro 2009-08-02 10:45:00 7
Alma 2009-08-02 10:30:00 8

Saludos de nueva cuenta
  #4 (permalink)  
Antiguo 11/08/2010, 11:20
 
Fecha de Ingreso: octubre-2004
Mensajes: 142
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Obtener valor maximo de un campo diariamente

ya se que es un tema pasado, pero yo tenia la misma duda y quise aportar una solucion

En tu caso
Código:
SELECT Participante, Fecha,max(Puntuacion) AS Puntuacion
FROM <B.D>
GROUP BY Participante, Fecha

Última edición por yoltik; 11/08/2010 a las 11:23 Razón: error en el texto
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 08:43.