Извлечение первой записи в каждой группе с использованием ORM - PullRequest
0 голосов
/ 08 ноября 2019

Я хотел бы извлечь первую запись в каждой группе, используя 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).

Спасибо за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...