Я хотел бы извлечь первую запись в каждой группе, используя SqlAlchemy ORM, но борюсь с конструкцией этого:
Пример: Извлечение первого когда-либо заказанного элемента каждого клиента:
customer | date | item
------------------------
Joe | 20190101 | duck
Jane | 20190101 | rabbit
Joe | 20190202 | table
Bob | 20190301 | guitar
Jane | 20190301 | guitar
ожидаемый вывод
customer | date | item
------------------------
Joe | 20190101 | duck
Jane | 20190101 | rabbit
Bob | 20190301 | guitar
Проблема достаточно легко решается для панд
df.sort_values(['date'],ascending=True).groupby('customer').first().reset_index()
# -- or --
df.groupby(["customer"]).apply(lambda x: x.sort_values(["date"], ascending = True)).first().reset_index()
, но я не могу узнать, как добиться аналога для SqlAlchemy (или для SQL, для чего онимеет значение, так как я изо всех сил пытаюсь понять синтаксис и использование этих функций Partition-Over).
Спасибо за любую помощь