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

[SOLUCIONADO] Consultar el máximo agrupado por días

Estas en el tema de Consultar el máximo agrupado por días en el foro de SQL Server en Foros del Web. Buenas, tengo una tabla con los campos fecha y valor (varios valores por día). Me gustaría hacer una consulta que me devuelva el máximo valor ...
  #1 (permalink)  
Antiguo 17/06/2014, 09:50
 
Fecha de Ingreso: noviembre-2003
Mensajes: 456
Antigüedad: 20 años, 5 meses
Puntos: 1
Pregunta Consultar el máximo agrupado por días

Buenas,

tengo una tabla con los campos fecha y valor (varios valores por día). Me gustaría hacer una consulta que me devuelva el máximo valor obtenido cada día. Es decir, un valor por día.

¿cuál sería la sintaxis?

Gracias!
  #2 (permalink)  
Antiguo 17/06/2014, 10:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consultar el máximo agrupado por días

Código SQL:
Ver original
  1. SELECT MAX(valor),  CONVERT(VARCHAR(20),fecha,110) AS fecha FROM tabla GROUP BY CONVERT(VARCHAR(20),fecha,110)

algo asi :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/06/2014, 01:06
 
Fecha de Ingreso: noviembre-2003
Mensajes: 456
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Consultar el máximo agrupado por días

Hola!

No funciona. Me devuelve registros de la forma:

5 2014-06-17 20:32:28.
4 2014-06-17 13:59:54.
3 2014-06-17 13:56:14.
2 2014-06-17 13:38:05.
1 2014-06-17 09:21:22.

Es decir, varios por el mismo día :(

Gracias.
  #4 (permalink)  
Antiguo 18/06/2014, 04:33
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Consultar el máximo agrupado por días

¿Estás seguro que escribiste todo la función Convert?
Si sí, intentá así:
Código SQL:
Ver original
  1. SELECT MAX(valor),  CAST(DateDiff(DAY,0,fecha)) AS fecha FROM tabla
  2. GROUP BY CAST(DateDiff(DAY,0,fecha))
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Última edición por gnzsoloyo; 18/06/2014 a las 05:59
  #5 (permalink)  
Antiguo 18/06/2014, 07:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consultar el máximo agrupado por días

Cita:
Iniciado por banderas20 Ver Mensaje
Hola!

No funciona. Me devuelve registros de la forma:

5 2014-06-17 20:32:28.
4 2014-06-17 13:59:54.
3 2014-06-17 13:56:14.
2 2014-06-17 13:38:05.
1 2014-06-17 09:21:22.

Es decir, varios por el mismo día :(

Gracias.
Creo que no escribiste bien todo el query, porque la funcion que te pase regresa las fechas en formato mm-dd-yyyy sin horas ni minutos.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 18/06/2014, 08:37
 
Fecha de Ingreso: noviembre-2003
Mensajes: 456
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Consultar el máximo agrupado por días

Cierto. Fallaba la parte de HH:MM:SS. Así sí que funciona:
Código SQL:
Ver original
  1. SELECT MAX(VALUE) AS Maximo, CONVERT(DATE, DateTime) AS Dia
  2. FROM DummyTable GROUP BY CONVERT(DATE, DateTime) ORDER BY Dia DESC

Gracias!

Última edición por gnzsoloyo; 18/06/2014 a las 09:28

Etiquetas: consultar, tabla
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 13:42.