В Oracle используйте func.trunc(MyTable.dt, 'HH')
Однако это немного привередливо. Это не удалось:
q = session.query(func.trunc(MyTable.dt, 'HH'), func.sum(MyTable.qty) \
.group_by(func.trunc(MyTable.dt, 'HH'))
Но это удается:
trunc_date = func.trunc(MyTable.dt, 'HH')
q = session.query(trunc_date, func.sum(MyTable.qty) \
.group_by(trunc_date)
Спасибо этой теме за подсказку.