Aracılığıyla paylaş


OVER (Azure Stream Analytics)

Her satır için OVER yan tümcesi, ilişkili bir toplama veya analiz işlevi uygulanmadan önce satırların gruplandırma işlemini belirler.

Over yan tümcesini bir skaler işleve izin verilen her yerde kullanabilirsiniz. Örneğin, SELECT, WHERE, JOIN veya GROUP BY yan tümcelerinde OVER yan tümcesini kullanabilirsiniz.

OVER yan tümcesi, satırları doğrudan sorgu girişinden gruplar. WHERE yan tümcesindeki koşullardan, JOIN yan tümcesindeki birleştirme koşullarından veya GROUP BY yan tümcesindeki gruplandırma koşullarından etkilenmez.

Şu anda OVER yan tümcesi ile aşağıdaki toplama işlevleri desteklenmektedir:

  • SUM
  • AVG
  • MIN
  • MAX

Söz dizimi

OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])

<PARTITION BY clause> ::== PARTITION BY partition_key, ... [n]

<LIMIT DURATION clause> ::== LIMIT DURATION (unit, length)

<WHEN clause> ::== WHEN boolean_expression

Bağımsız değişkenler

<PARTITION BY yan tümcesi>

Toplama veya analiz işlevi için yalnızca aynı <partition_key> sahip satırların dikkate alınacağını belirtir.

<LIMIT DURATION yan tümcesi>

Geçerli satırdan ne kadar geçmişin gruba dahil olduğunu belirtir. Desteklenen birimlerin ve kısaltmalarının ayrıntılı açıklaması için bkz . DATEDIFF .

<WHEN YAN TÜMCESI>

Gruba eklenecek satırların boole koşulunu belirtir.

Genel Açıklamalar

Bir pencereleme işlevinin sonuç kümesinde OVER ile bir toplama veya analiz işlevi uygulamak beklenmeyen sonuçlara neden olabilir. Pencereleme işlevleri olayların zaman damgasını değiştirir, her pencere işlemi pencerenin sonunda olay çıkışı sağlar. Bir olayın geçerli zaman damgasına system.timestamp() ile erişilebilir, bir pencere işleminden sonra özgün olay zamanı özniteliğinden farklılık gösterir.

Örnekler

Algılayıcı başına son 5 dakika içindeki ortalama sıcaklığı hesapla:

SELECT AVG(temperature) OVER (PARTITION BY id LIMIT DURATION (minute, 5))
FROM input

Kaynak son bir saat içinde iyi durumda değilse bir uyarı oluşturun:

SELECT 1 AS alert
FROM input
WHERE MAX(healthy) OVER (PARTITION BY id LIMIT DURATION (hour, 1)) = 0

Ayrıca Bkz.

Analitik İşlevler
Toplama İşlevleri