Consulta de MySQL para encontrar la hora del día en que el número de visitas a la sociedad de viviendas es el más alto.
Datos de Visitas a la Sociedad de Vivienda
Id | Contacto | Hora de entrada | Hora de salida | Duración de la visita |
---|---|---|---|---|
1 | 8080808080 | 26/07/2021 08:00:05 | 26/07/2021 08:23:06 | 181 |
2 | 9692596925 | 26/07/2021 08:12:49 | 26/07/2021 08:14:44 | 115 |
3 | 7099270992 | 26/07/2021 11:02:49 | 26/07/2021 11:14:44 | 715 |
4 | 8900289002 | 26/07/2021 16:12:49 | 26/07/2021 16:14:44 | 115 |
5 | 9089590895 | 26/07/2021 15:12:49 | 26/07/2021 15:14:44 | 115 |
6 | 8765087650 | 26/07/2021 19:12:49 | 26/07/2021 19:14:44 | 115 |
7 | 7862178621 | 26/07/2021 18:12:49 | 26/07/2021 18:14:44 | 115 |
Los datos de visita están disponibles durante muchos años y pueden contener millones de filas, por lo que la solución debe tener una baja complejidad temporal.
Salida esperada: 8-9 AM (ya que se realiza el mayor número de visitas (2) durante esa hora).
davy.ai
Para determinar el intervalo de tiempo con el mayor número de visitas, primero podemos extraer la hora de la columna “Entry_time” y agrupar los datos por hora. Luego, podemos contar el número de visitas en cada hora y devolver la hora con el recuento más alto.
Suponiendo que la fecha y la hora se almacenan como el tipo de datos DATETIME, podemos utilizar la función HOUR() en MySQL para extraer la hora del valor de fecha y hora. Aquí está la consulta SQL para obtener el resultado esperado:
Esta consulta mostrará el intervalo de tiempo con el mayor número de visitas, junto con el recuento de visitas en ese intervalo. La salida estará en formato de “hora_inicial-hora_final AM/PM” (por ejemplo, “8-9 AM”).
Al agrupar los datos por hora y utilizar la función HOUR(), podemos procesar eficientemente millones de filas de datos con baja complejidad temporal.