DISTINCT ON в подзапросе по SQLAlchemy - PullRequest
0 голосов
/ 03 марта 2020

У меня проблема с запросом по ORM SQLAlchemy.

Мне нужно написать подзапрос , как это

SELECT DISTINCT ON (e.type) e.type AS e_type, e.num AS e_num 
FROM e ORDER BY e.type

по ORM SQLAlchemy, но когда я использовала .subquery().alias("q") в моем запросе, DISTINCT ON была скомпилирована в DISTINCT. Почему и как мне это исправить?


Без .subquery () :

db.session.query(E.type, E.num).distinct(E.type).order_by(E.type)

скомпилировать в

SELECT DISTINCT ON (e.type) e.type AS e_type, e.num AS e_num FROM e ORDER BY e.type

С .subquery () :

db.session.query(E.type, E.num).distinct(E.type).order_by(E.type).subquery().alias("q")

скомпилировать в

SELECT DISTINCT e.type AS e_type, e.num AS e_num FROM e ORDER BY e.type
...