2016-08-09 53 views
0

我正在使用JDeveloper在Oracle Stream Analytics中處理Oracle事件處理項目。Oracle CQL - 計算完成窗口後的元組數量

我的20元組的形式的數據流:

(attr1,attr2,attr3) 

1,1,1 

2,2,2 

.... 

20,20,20 

我想每個窗口內計數的記錄數(我會在後面加一個條件,只計算不包含元組空值)。 所需的輸出是:

10 

10 

我嘗試:自Stream [行10] SELECT COUNT(*)。不過,我得到:

0 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

我也試過:從流SELECT COUNT(*)[10行幻燈片]。但是我得到:

0 

10 

我的問題是如何指定查詢,將在大小爲N的窗口返回記錄(對於其中條件成立)的總數只有當所有的N元組到達?

謝謝。

回答

0

你的第二個查詢應該是確定的,但你必須添加一個having子句有輸出,只有當計數爲10

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

enter image description here

希望這可以幫助。