0

我正在使用JDeveloper.

我有一个包含 20 个元组的数据流,格式如下:

(attr1,attr2,attr3)

1,1,1

2,2,2

....

20,20,20

我想计算每个窗口中元组的数量(稍后我将添加一个条件来仅计算不包含空值的元组)。所需的输出是:

10

10

我试过:从 Stream [rows 10] 中选择 count(*)。但是,我得到:

0

1

2

3

4

5

6

7

8

9

10

我也试过:Select count(*) from Stream [rows 10 slide 10 ]。但是我得到:

0

10

我的问题是如何指定一个查询,仅当所有 N 个元组都到达时,才返回大小为 N 的窗口中的元组总数(条件成立)?

谢谢你。

4

1 回答 1

0

您的第二个查询应该没问题,但是您必须添加一个 having 子句才能仅在 count 为 10 时才具有输出。

 <query id="ExampleQuery"><![CDATA[ 
    select count(*) as total from inputChannel  [rows 10 slide 10] 
    having count(*) = 10
  ]]></query>

在此处输入图像描述

希望这能有所帮助。

于 2016-10-10T16:47:58.660 回答