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
Mengembalikan nilai maksimum dalam ekspresi.
Sintaksis
-- Aggregate Function Syntax
MAX ( expression )
-- Analytic Function Syntax
MAX ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Argumen
ekspresi
Adalah konstanta, nama kolom, atau fungsi, dan kombinasi operator aritmatika apa pun. Fungsi dan subkueri agregat tidak diizinkan.
MAX dapat digunakan dengan kolom Bit, Bigint, Datetime, dan Float.
MAX juga dapat digunakan dengan NVARCHAR(MAX) dengan perilaku berikut:
- Jika kolom tidak secara eksplisit ditransmisikan ke NVARCHAR(MAX), maka MAX akan mencoba secara implisit mentransmisikannya ke FLOAT. Ketidakcocokan jenis akan mengakibatkan kesalahan.
- Jika kolom secara eksplisit ditransmisikan ke NVARCHAR(MAX) dengan menggunakan CAST atau TRY_CAST, maka nilai string maksimal akan dikembalikan.
OVER ([<klausa><PARTITION BY LIMIT DURATION clause> [<WHEN clause>]]
Menentukan grup baris tempat MAX diterapkan. Klausa PARTITION BY menentukan bahwa baris dengan kunci partisi yang sama akan dikelompokkan bersama-sama. Klausul LIMIT DURATION menentukan berapa banyak riwayat yang disertakan dalam grup. Klausa WHEN menentukan kondisi boolean untuk baris yang akan disertakan dalam grup. Lihat klausa OVER untuk detail selengkapnya tentang penggunaan.
Jenis Kembalian
Mengembalikan nilai yang sama dengan ekspresi.
Contoh
Dengan sintaks agregat, kita akan mengurangi jumlah baris. Di sini kita memilih tarif maksimum di setiap Tol setiap jam:
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MAX(Toll) AS MaxFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
Dengan sintaks analitik, kami mempertahankan kardinalitas input. Di sini untuk setiap kendaraan yang melalui tol, kami membandingkan tarif saat ini dengan maksimum selama satu jam terakhir:
SELECT
TollId,
System.Timestamp() AS PassageTime,
LicensePlate,
Toll AS Fare,
MAX (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MaximumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime