我试图在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')
答案 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