次のクエリに問題があります。これ自体は正常に動作しますが、秒ごとにグループ化されます。秒を切り捨て、分ごとにグループ化したいと考えています。date_trunc、extract などを試してみましたが、うまくいきませんでした。エンジンが sqlite の場合、extract('minute') は正常に機能しましたが、postgresql では機能しませんでした。
私を正しい方向に向けることができる人はいますか?
PostgreSQL バージョン: x86_64-redhat-linux-gnu 上の PostgreSQL 8.1.23
Column('id', Integer, primary_key=True),
Column('date', TIMESTAMP),
Column('src', String),
Column('dst', String),
Column('len', String),
Column('sport', String),
Column('dport', String),
Column('method', String),
Column('host', String),
Column('useragent', String),
Column('statusline', String),
Column('location', String),
Column('server', String),
Column('load', String),
now = datetime.datetime.now()
DD = now - datetime.timedelta(minutes=60)
DD = DD.strftime('%Y-%m-%d %H:%M:%S')
query = session.query(HTTP.date,HTTP.statusline, func.count(HTTP.statusline).
label('count')).filter(HTTP.statusline.like('%'+status+'%'), HTTP.date>=(DD)).group_by(HTTP.date, HTTP.statusline).order_by(asc(HTTP.date)).all()