JOOQ窗口分区ORDER DESC

时间:2017-10-06 22:01:48

标签: java postgresql jooq

我尝试将以下PostgreSQL查询表示为JOOQ:

ctx.select(PROPERTYALUE.fields(), DSL.rowNumber().over().
       partitionBy(PROPERTYVALUE.propertyid).orderBy(PROPERTYVALUE.validfrom).???)

所以我想用嵌套查询编写一个查询,该查询使用窗口函数并首先从内部查询开始。我走得那么远:

rangeFollowing

在orderBy命令之后,我没有在JOOQ中使用DESC选项。只有rowsCurrentRowdesc()之类的命令以及像bin/elasticsearch -E http.port=9400 -E transport.tcp.port=9500 这样的继承命令会返回一个SortField对象,我无法再调用所需的后续命令。

那么JOOQ中是否有任何方法可以在窗口函数中使用DESC顺序制定我想要的SQL查询?

1 个答案:

答案 0 :(得分:1)

写下这个:

python -u -m http.server

观察我在列DSL.rowNumber() .over() .partitionBy(PROPERTYVALUE.propertyid) .orderBy(PROPERTYVALUE.validfrom.desc())) 上调用desc()的事实,以便将生成的validfrom传递给窗口函数调用的SortField子句。

你试图通过窗口函数表达式进行排序,例如:在orderBy()语句的ORDER BY子句中。 E.g:

SELECT