Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Untuk setiap baris, klausul OVER menentukan pengelompokan baris sebelum fungsi agregat atau analitik terkait diterapkan.
Anda dapat menggunakan klausa OVER di mana saja fungsi skalar diizinkan. Misalnya, Anda dapat menggunakan klausa OVER di klausa SELECT, WHERE, JOIN, atau GROUP BY.
Klausa OVER mengelompokkan baris langsung dari input kueri. Ini tidak dipengaruhi oleh predikat dalam klausa WHERE, kondisi gabungan dalam klausa JOIN, atau kondisi pengelompokan dalam klausa GROUP BY.
Saat ini, fungsi agregat berikut didukung dengan klausa OVER:
- JUMLAH
- AVG
- Menit
- MAKS
Sintaksis
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
Argumen
<Klausa PARTITION BY>
Menentukan bahwa hanya baris dengan partition_key> yang sama <yang akan dipertimbangkan untuk fungsi agregat atau analitik.
<Klausul LIMIT DURATION>
Menentukan berapa banyak riwayat dari baris saat ini yang disertakan dalam grup. Lihat DATEDIFF untuk deskripsi terperinci tentang unit yang didukung dan singkatannya.
<KLAUSA KAPAN>
Menentukan kondisi boolean untuk baris yang akan disertakan dalam grup.
Keterangan Umum
Menerapkan fungsi agregat atau analitik dengan OVER pada kumpulan hasil fungsi windowing dapat menghasilkan hasil yang tidak terduga. Fungsi windowing mengubah tanda waktu peristiwa, karena setiap operasi jendela menghasilkan peristiwa di akhir jendela. Tanda waktu peristiwa saat ini dapat diakses dengan system.timestamp(), setelah operasi jendela, itu akan berbeda dari atribut waktu peristiwa asli.
Contoh
Komputasi suhu rata-rata selama 5 menit terakhir, per sensor:
SELECT AVG(temperature) OVER (PARTITION BY id LIMIT DURATION (minute, 5))
FROM input
Lemparkan pemberitahuan jika sumber daya tidak sehat selama satu jam terakhir:
SELECT 1 AS alert
FROM input
WHERE MAX(healthy) OVER (PARTITION BY id LIMIT DURATION (hour, 1)) = 0