Principales respuestas
Agrupaciones

Pregunta
-
Buenas tardes a todos, les comento.
Tengo estos resultados de un solo campo en una tabla (estados_vehiculo) SQL Server 2008
el problema que tengo es que necesito agrupar por minuto, no importa las horas ni nada, solo por minuto,
desde el minuto 0 con 0 segundos, hasta el minuto 0 con 59 segundos y así ir agrupando. Estoy intentando con la soguiente consulta.
//ejemplo para agrupación cada 10 minutos
SELECT fechahora FROM estados_vehiculo GROUP BY (DATEPART(MINUTE, fechahora) / 10), fechahora order by fechahora
pero aún así no obtengo los resultados deseados. Como podría reformular mi consulta? algún ejemplo que puedan compartir.
Muchas gracias a todos por su preciado tiempo.
Saludos
Respuestas
-
Hola,cuales son los resultados deseados?
SELECT COUNT(*) AS CANTIDADXMINUTO, DATEPART(MINUTE, fechahora) FROM ESTADOS_VEHICULO GROUP BY DATEPART(MINUTE, fechahora)
Votar es agradecer.
Saludos.
Lima-Perú- Propuesto como respuesta Pablo RubioModerator lunes, 27 de agosto de 2018 17:47
- Marcado como respuesta Enrique Aleman martes, 28 de agosto de 2018 12:13
-
Hola:
Reformando un pelín la consulta que ya te han ofrecido, puedes obtener la cuenta en una tabla derivada y luego visualizar los resultados, tal que así:
create table estadosvehiculo (fecha datetime ) go insert into estadosvehiculo (fecha) values ('20180720 01:00:40.000'), ('20180720 01:00:44.000'), ('20180720 01:00:57.000'), ('20180720 01:01:44.000'), ('20180720 01:02:40.000'), ('20180720 01:02:44.000'), ('20180720 01:03:44.000'), ('20180720 01:04:40.000'), ('20180720 01:04:44.000'), ('20180720 01:05:44.000'), ('20180720 01:05:47.000'), ('20180720 01:05:48.000'), ('20180720 01:05:52.000'), ('20180720 01:07:13.000') go SELECT e.fecha, o.cantidad, o.minuto FROM estadosvehiculo e INNER JOIN ( SELECT COUNT(*) AS cantidad, DATEPART(minute, fecha) AS minuto FROM estadosvehiculo GROUP BY DATEPART(minute, fecha) ) AS o ON o.minuto = DATEPART(minute, e.fecha);
Con una salida como esta:
Un saludo
- Marcado como respuesta Enrique Aleman martes, 28 de agosto de 2018 12:13
Todas las respuestas
-
Hola,cuales son los resultados deseados?
SELECT COUNT(*) AS CANTIDADXMINUTO, DATEPART(MINUTE, fechahora) FROM ESTADOS_VEHICULO GROUP BY DATEPART(MINUTE, fechahora)
Votar es agradecer.
Saludos.
Lima-Perú- Propuesto como respuesta Pablo RubioModerator lunes, 27 de agosto de 2018 17:47
- Marcado como respuesta Enrique Aleman martes, 28 de agosto de 2018 12:13
-
Hola, lo que necesito es obtener lo siguiente.
ejemplo:
2018-08-27 15:00:00
2018-08-27 15:00:23
2018-08-27 15:00:45
minuto 00 = 3 registros
2018-08-27 15:01:06
2018-08-27 15:01:19
2018-08-27 15:01:35
2018-08-27 15:01:54
minuto 01 = 4 registros,
etc, etc, etc.
Esa sería la idea.
Muchas gracias
Saludos
-
Hola:
Reformando un pelín la consulta que ya te han ofrecido, puedes obtener la cuenta en una tabla derivada y luego visualizar los resultados, tal que así:
create table estadosvehiculo (fecha datetime ) go insert into estadosvehiculo (fecha) values ('20180720 01:00:40.000'), ('20180720 01:00:44.000'), ('20180720 01:00:57.000'), ('20180720 01:01:44.000'), ('20180720 01:02:40.000'), ('20180720 01:02:44.000'), ('20180720 01:03:44.000'), ('20180720 01:04:40.000'), ('20180720 01:04:44.000'), ('20180720 01:05:44.000'), ('20180720 01:05:47.000'), ('20180720 01:05:48.000'), ('20180720 01:05:52.000'), ('20180720 01:07:13.000') go SELECT e.fecha, o.cantidad, o.minuto FROM estadosvehiculo e INNER JOIN ( SELECT COUNT(*) AS cantidad, DATEPART(minute, fecha) AS minuto FROM estadosvehiculo GROUP BY DATEPART(minute, fecha) ) AS o ON o.minuto = DATEPART(minute, e.fecha);
Con una salida como esta:
Un saludo
- Marcado como respuesta Enrique Aleman martes, 28 de agosto de 2018 12:13