CollectTOP (Azure Stream Analytics)

Dereceli kayıtların bir dizisini döndürür; burada rank, belirtilen sıralamaya göre olayın penceredeki derecelendirme konumunu tanımlar. Sıralama/sıralama olay sütunlarını temel alır ve ORDER BY yan tümcesinde belirtilebilir.

Söz dizimi

-- Aggregate Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER (ORDER BY (<column name> [ASC |DESC])+)

-- Analytic Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER ([<PARTITION BY clause>] ORDER BY (<column name> [ASC | DESC])+ <LIMIT DURATION clause>  [<WHEN clause>])

Bağımsız değişkenler

<tamsayı değişmez değeri olarak olay sayısı>

Kullanıcının pencereden toplamak istediği en önemli olayların sayısı.

<Scalar_expression>

CollectTop, toplanan olaylar üzerinde bir projeksiyon belirtmenize olanak tanıyan isteğe bağlı bir skaler ifade alır. parametresi olmadan tam olay kayıtları toplanır.

<sütun adı>

Sıralamanın gerçekleştirileceği giriş olayındaki sütunun adı. Yalnızca bigint/float/datetime türlerine göre sıralamaya izin verilir.

OVER ([<PARTITION BY yan tümcesi><LIMIT DURATION yan tümcesi> [<WHEN yan tümcesi>]]

CollectTop'un uygulandığı satır grubunu belirler. PARTITION BY yan tümcesi, aynı bölüm anahtarına sahip satırların birlikte gruplandırılacağını belirtir. LIMIT DURATION yan tümcesi, gruba ne kadar geçmişin dahil olduğunu belirtir. WHEN yan tümcesi, gruba eklenecek satırlar için boole koşulu belirtir. Kullanım hakkında daha fazla bilgi için over yan tümcesine bakın.

Dönüş Türleri

{ "rank" : bigint, "value": <projected_type> } türünde kayıt dizisi; burada <projected_type> ifade belirtilmezse veya kaydın <scalar_expression> türüdür.

Açıklamalar

Null en düşük değer olarak kabul edilir, daha fazla bilgi için bkz. https://msdn.microsoft.com/library/ms188385.aspx

Örnekler

SELECT   
    value1,  
    CollectTop(2) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1  

Örnek giriş:

Örnek giriş

Örnek çıktı:

Örnek çıkış

SELECT   
    value1,  
    CollectTop(2, x + y) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1