SQL Alchemy与Postgres中2个日期之间的平均天数

时间:2014-09-16 02:56:53

标签: python postgresql flask sqlalchemy flask-sqlalchemy

我试图在2个日期的日子里得到差异,然后平均一下。所有示例似乎都使用date_sub来获取日期和间隔。是否有函数来获取2个日期的差异,然后将其转换为天数,并对其进行平均。

来自sqlalchemy.sql import func,text

尝试行

func.avg(func.date_sub(Booking.departure_date, Booking.booking_date)).label('average_lead_time')).\ 

查询

query = db.session.query(func.avg(Booking.total_including_tax).label('average_fare'),
                        func.date_part('year', Booking.query_date).label("year"),
                        func.date_part('month', Booking.query_date).label("month"),
                        func.avg(func.date_sub(Booking.departure_date, Booking.booking_date)).label('average_lead_time')).\
                        filter(Booking.client_id == client_id).\
                        filter(Booking.customer_id == customer_id).\
                        filter(Booking.booking_type == 'Air').\
                        filter(Booking.query_date is not None).\
                        filter(Booking.query_date >= filter_date_range_min).\
                        filter(Booking.query_date < filter_date_range_max).\
                        group_by('year').group_by('month').\
                        order_by('year').order_by('month')

1 个答案:

答案 0 :(得分:1)

我正在寻找的线路只是我不需要该功能,因为我可以使用 - 符号。我需要postgres justify_days函数

func.avg(func.justify_days(Booking.departure_date - Booking.booking_date)).label('average_lead_time')).\

这有帮助

http://www.postgresql.org/docs/current/static/functions-datetime.html