Re: sqlalchemy включить всю строку в список при группировке
От: Ватакуси Россия  
Дата: 13.01.21 11:37
Оценка:
Здравствуйте, qtprogger, Вы писали:

Q>Имеется табличка

Q>
>> select * from "Book";
Q> id |    date    | title | author |   genre    
Q>----+------------+-------+--------+------------
Q>  1 | 2019-01-01 | AAA   | B      | fantastic
Q>  2 | 2019-01-02 | BBB   | C      | fantastic
Q>  3 | 2019-01-02 | 1111  | 2      | technology
Q>  4 | 2019-01-02 | 3333  | 4      | technology
Q>  5 | 2019-01-02 | 7777  | 88     | technology
Q>


Q>
Q>session.query(Book.genre, func.array_agg(Book.id, type_=ARRAY(Integer))).group_by(Book.genre)
Q># ('fantastic', [1, 2])
Q># ('technology', [3, 4, 5])
Q>

Q>Помогите сформировать агреггирующую функцию так, чтобы в списках находились не идентификаторы, а строки из Book целиком
Q>
Q># ('fantastic', [(1, 2019-01-01, AAA, B), (2, 2019-01-02, BBB, C)])
Q># ('technology', [(3, 2019-01-02, 1111, 2), (4, 2019-01-02, 3333, 4), (5, 2019-01-02, 7777, 88)])
Q>



Там можно session.execute(ТВОЙ_СКУЛ) вызывать, с нормальным SQL-ем.
Все будет Украина!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.