How do I group query results by the hour part of a datetime column in SQLAlchemy?
In Oracle, use func.trunc(MyTable.dt, 'HH')
It is a bit finicky, however. This fails:
q = session.query(func.trunc(MyTable.dt, 'HH'), func.sum(MyTable.qty) \
.group_by(func.trunc(MyTable.dt, 'HH'))
But this succeeds:
trunc_date = func.trunc(MyTable.dt, 'HH')
q = session.query(trunc_date, func.sum(MyTable.qty) \
.group_by(trunc_date)
Thanks to this thread for the tip.