Peewee подсчитывает все объекты с указанным значением c - PullRequest
0 голосов
/ 30 января 2020

Моя борьба не с созданием таблицы, я могу создать таблицу. Проблема заключается в заполнении столбцов на основе вычислений других таблиц.

Я рассмотрел Как создать все таблицы, определенные в моделях, с использованием peewee , и это не помогает мне выполнять суммирование и подсчет et c ..

У меня есть гипотетическая база данных (database.db), и я создал эти две таблицы:

Таблица 1 (из класса User)

id name
1  Jamie
2  Sam
3  Mary

Таблица 2 (из класса Sessions)

id SessionId
1  4121
1  4333
1  4333
3  5432

Я просто хочу создать новую таблицу, используя peewee:

id  name   sessionCount TopSession # <- (Session that appears most for the given user)
1   Jamie  3            4333
2   Sam    0            NaN
3   Mary   1            5432
4 ...

Каждая запись в Table1 и Table2 была создана с использованием User.create(...) или Sessions.create(...)

Новая таблица должна смотреть на данные, которые находятся в database.db (ie Table1 и Table2) и выполнять вычисления.

Это будет просто в Pandas , но я не могу найти запрос, который может сделать это. Пожалуйста, помогите

1 Ответ

0 голосов
/ 30 января 2020

Я нашел это ...

query = Sessions.select(fn.COUNT(Sessions.id)).where(Sessions.id==1)
count = query.scalar()
print(count)
>>> 3

# Or:
query = Sessions.select().where(Sessions.id == 1).count()
3

Для всех, кто там:)

...