python - 将同表连接的 SQL 语句转换为 SQLAlchemy
问题描述
我有一个有效的 Postgres SQL 语句,它执行一个表——question
加入自身以仅提取具有foo
最新匹配列的行created_data
:
SELECT q.*
FROM question q
INNER JOIN
(SELECT foo, MAX(created_date) AS most_current
FROM question
GROUP BY foo) grouped_q
ON q.foo = grouped_q.foo
AND q.created_date = grouped_q.most_current
我很感兴趣是否以及如何将其转换为 SQLAlchemy,以便我可以将结果行用作 ORM 对象?
而且,如果知道的话,可能会有什么样的性能差异?
FWIW,我可以通过遍历行并执行以下操作来水合 SQLAlchemy ORM 对象......
for row in res.fetchall():
question = Question(**dict(zip(res.keys(), row)))
但这感觉很笨拙,如果可能的话,我想将查询保留在 SQLAlchemy 语法中。
提前致谢。
解决方案
推荐阅读
- python - 在 Postgresql 的 WHERE 中使用 JSON 数组进行查询
- json - Azure cosmos db 与用于中间/临时存储的 blob 存储
- javascript - "Uncaught TypeError: undefined is not a function" vanishes after computer restarted
- ruby-on-rails - Best approach to open and parse a file from an FTP (Rails, Sidekiq, SFTP)?
- ruby-on-rails-4 - Spree -- Remove/Clear previous promotions when a new promotion applied
- ios - Stroke Animation with CABasicAnimation for UITextField
- python - 欧拉 22 代码未返回正确答案
- python - Can't running my program in Python 3.6.5
- reactjs - 比较“提升状态”与 Redux、Flux 状态管理
- angular - 使用 ng2 离子范围滑块美化值 - 角度