фильтр по номеру строки в sqlalchemy
Как я могу отфильтровать row_number ==1 в следующем запросе:
query = session.query(Foo, func.row_number().over(
partition_by=Foo.foo_field, order_by=desc(Foo.foo_date_time)).label("row_number"))
query = query.filter(Foo.time_key <= time_key)
# query = query.filter(row_number == 1)
result = query.all()
1 ответ:
Я нашел его:
row_number_column = func.row_number().over(partition_by=Foo.foo_field, order_by=desc(Foo.foo_date_time)).label('row_number') query = self.session.query(Foo) query = query.filter(Foo.time_key <= time_key) query = query.add_column(row_number_column) query = query.from_self().filter(row_number_column == 1)