¿Cómo puedo agrupar los resultados de las consultas por hora en una columna de fecha y hora en SQLAlchemy?¿Grupo por hora en SQLAlchemy?
Respuesta
Si no recuerdo mal debe extraer primero la hora de su marca de tiempo y luego se pueden agrupar por eso.
query(extract('hour', timeStamp).label('h')).group_by('h')
Esto funciona para PostgreSQL:
.group_by(func.date_trunc('hour', date_col))
No mencioné que estoy usando sqlite; date_trunc es postgres? – Dave
También lo puede hacer en Python. Asumiendo que tiene una ordenada query_result
:
from itertools import groupby
def grouper(item):
return item.created.hour
for (hour, items) in groupby(query_result, grouper):
for item in items:
# do stuff
Esta respuesta es una adaptación de una respuesta a una pregunta similar here
recientemente he tenido que hacer una cosa similar utilizando sqlalchemy y MySQL y terminó con el DATE_FORMAT (http://www.w3schools.com/sql/func_date_format.asp) al grupo por hora, minuto, segundo
.group_by(func.date_format(date_col, '%H:%i:%s'))
para único grupo por hora sería '%H'
en lugar de '%H:%I:%s'
En Oracle, use func.trunc(MyTable.dt, 'HH')
Es un poco quisquilloso, sin embargo. Esta falla:
q = session.query(func.trunc(MyTable.dt, 'HH'), func.sum(MyTable.qty) \
.group_by(func.trunc(MyTable.dt, 'HH'))
Pero esto tiene éxito:
trunc_date = func.trunc(MyTable.dt, 'HH')
q = session.query(trunc_date, func.sum(MyTable.qty) \
.group_by(trunc_date)
Gracias a this thread por la punta.
- 1. grupo por año, mes, día en un sqlalchemy
- 2. Grupo de SQL Server por recuento de DateTime por hora?
- 3. Cómo tiempo de grupo por hora o por 10 minutos
- 4. rieles - grupo por día, así como la hora
- 5. Django grupo de modelos por fecha de fecha y hora
- 6. Entity Framework. Grupo SQL por al grupo EF Por
- 7. Grupo SQLITE por
- 8. MySQL - Grupo por la Orden por DESC
- 9. Cómo filtrar consulta en sqlalchemy por año (columna de fecha y hora)
- 10. TS SQL - grupo por minuto
- 11. Grupo por mes en SQLite
- 12. Grupo por vs Partición por en Oracle
- 13. SQLAlchemy: Cómo agrupar por dos campos y filtrar por fecha
- 14. SqlAlchemy - Filtrando por relación Atributo
- 15. Filtrando por recuento de relaciones en SQLAlchemy
- 16. Como utilizar "orden compuesto por" en sqlalchemy
- 17. grupo LINQ por, ordenado por
- 18. NHibernate LINQ grupo por grupo no correctamente en SQL Server
- 19. Número de grupo en un grupo LINQ por consulta
- 20. grupo MongoDB por Funcionalidades
- 21. TENIENDO sin GRUPO POR
- 22. grupo de SQL por
- 23. Grupo MySQL por SUM
- 24. auto_increment por grupo
- 25. grupo por muy lento
- 26. GRUPO POR MySQL comportamiento
- 27. grupo Python por
- 28. Seleccione agrupaciones de fecha/hora en MySQL agrupados por hora
- 29. Cómo puedo contar datos por grupo en excel
- 30. Agrupar por hora usando LINQ
Funcionó cuando pongo citas por hora. – Dave
Vaya ... sí, tendrá que hacer eso. Actualicé mi ejemplo. Gracias por atrapar eso. – Scott