def get_sum_of_rates_in_period(self, start_date, end_date, currency):
"""
SELECT provider_id, count(*), SUM(rate) FROM "USD_exchange_rates" WHERE date >= '%Y-%m-%d' AND date <= '%Y-%m-%d' GROUP BY provider_id
"""
return self.db_session\
.query(ExchangeRate.provider_id, func.count(), func.sum(ExchangeRate.rate))\
.filter(
and_(ExchangeRate.date >= start_date,
ExchangeRate.date <= end_date,
ExchangeRate.currency == currency,
ExchangeRate.rate.isnot(None))
)\
.group_by(ExchangeRate.provider_id)\
.order_by(ExchangeRate.provider_id)\
.all()
评论列表
文章目录