我尝试将以下PostgreSQL查询表述为Jooq:
SELECT * FROM
(SELECT *, row_number() OVER (PARTITION BY propertyid ORDER BY validfrom DESC)
AS rownum FROM propertyvalue WHERE validfrom <= '1978-01-01T00:00:00Z') X
WHERE rownum = 1;
因此,我想用一个使用窗口函数的嵌套查询编写一个查询,并首先从内部查询开始。我走了那么远:
ctx.select(PROPERTYALUE.fields(), DSL.rowNumber().over().
partitionBy(PROPERTYVALUE.propertyid).orderBy(PROPERTYVALUE.validfrom).???)
在orderBy命令之后,我在Jooq中不再使用DESC选项。只有像rangefollowing
或rowscurrentrow
这样的命令,还有像desc()
这样的继承命令,它返回一个SortField-object,我不能再调用所需的后续命令。
这样写:
java prettyprint-override">DSL.rowNumber()
.over()
.partitionBy(PROPERTYVALUE.propertyid)
.orderBy(PROPERTYVALUE.validfrom.desc()))
请注意这样一个事实:我在列validfrom
上调用了desc()
,以便将结果sortfield
传递给窗口函数调用的orderby()
子句。
您尝试做的是按窗口函数表达式排序,例如在select
语句的order by
子句中。例如:
SELECT *
FROM propertyvalue
WHERE validfrom <= '1978-01-01T00:00:00Z'
ORDER BY row_number() OVER (PARTITION BY propertyid ORDER BY validfrom) DESC
我尝试了以下查询,但没有编译: order BY不支持子查询吗?
对于排列,给定和,我有一个函数,可以按字典顺序查找th排列。另外,给定一个排列,我有一个函数,可以在的所有排列中找到该排列的词典索引。为此,我使用了这个答案中建议的“阶乘分解”。 现在我想对的整数分区做同样的事情。例如,对于,我希望能够在索引(左)和分区(右)之间来回: 我试过一些方法。我想到的最好的是 其中给出了以下内容: 这不太管用,但似乎在正确的轨道上。我之所以想到这一点,是因为它计算了我必
根据Apache Kafka文档,消息的顺序可以在一个分区或一个主题中的一个分区内实现。在这种情况下,我们得到的并行性好处是什么,它相当于传统的MQ,不是吗?
问题内容: 因此,这不是您的平均“条件排序依据”问题……我这里有一个非常棘手的问题。:-)我想允许我的存储过程为结果提供条件排序顺序。通常,可以通过以下方式完成此操作: 我想围绕实际/声明,但这不起作用。上面的方法起作用的原因是因为,当不等于给定值时,SQL Server会将语句转换为常数。因此,如果为0,则实际上有: 那么,第一个排序表达式什么也不做。之所以可行,是因为您可以在常规语句中在子句中
我正试图编写一个小的Flink数据流,以更好地了解它的工作原理,我面临着一个奇怪的情况:每次运行它时,我都会得到不一致的输出。有时我期待的一些记录丢失了。请记住,这只是我为学习DataStream API的概念而构建的一个玩具示例。 我有一个大约7600行的CSV格式数据集,如下所示: 完整的数据集在这里:https://pastebin.com/rknnRnPc 没有特殊字符或引号,因此简单的字