powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / sqlalchemy: сделать groupby со склеиванием строк в список
1 сообщений из 1, страница 1 из 1
sqlalchemy: сделать groupby со склеиванием строк в список
    #40034520
scipy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
> select * from "Book";
 id |    date    | title | author |   genre    
----+------------+-------+--------+------------
  1 | 2019-01-01 | AAA   | B      | fantastic
  2 | 2019-01-02 | BBB   | C      | fantastic
  3 | 2019-01-02 | 1111  | 2      | technology
  4 | 2019-01-02 | 3333  | 4      | technology
  5 | 2019-01-02 | 7777  | 88     | technology



Подскажите как более оптимально сделать выборку всех строк для каждой группы, чтобы получить
Код: plsql
1.
2.
('fantastic', [(1, 2019-01-01, AAA, B), (2, 2019-01-02, BBB, C)])
('technology', [(3, 2019-01-02, 1111, 2), (4, 2019-01-02, 3333, 4), (5, 2019-01-02, 7777, 88)])



Пока так получилось сгруппировать с циклом, но есть подозрение, что цикл тут лишний
Код: python
1.
2.
3.
result = session.query(Book.genre, func.array_agg(Book.id, type_=ARRAY(Integer))).group_by(Book.genre)
for row in result.all():                 
      print(session.query(Book).filter(Book.id.in_(row.ids)).all())
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / sqlalchemy: сделать groupby со склеиванием строк в список
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (8): Анонимы (5), Yandex Bot, Bing Bot 3 мин., Google Bot 4 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]