【发布时间】:2019-01-02 04:21:28
【问题描述】:
回答this question,我found out 不允许窗口函数与过滤器组合(从技术上讲,它们是,但过滤器子句会影响窗口)。有一个提示将窗口函数包装在内部查询中,因此最终的 SQL 看起来像这样(据我了解):
SELECT * FROM (
SELECT *, *window_function* FROM TABLE)
WHERE *filtering_conditions*
问题是:如何用 Django ORM 编写这个查询?
【问题讨论】:
-
我遇到了同样的问题。在 postgres 中是可能的(参见文档底部),但我不知道如何将其转换为 ORM。有人有想法吗?
-
@ilse2005 给定的表达式更像是
SELECT ... FROM (SUBQUERY_EXPRESSION) as foo形式的 子查询。幸运的是,Django 有Subquery(...)表达式,但它不提供指定FROM子句的功能 -
据我了解,这是How to get a subquery in FROM clause in Django ORM?的问题,而不是Window表达式的问题。
标签: python django django-orm