MAX (Azure Stream Analytics)
İfadedeki en büyük değeri döndürür.
Söz dizimi
-- Aggregate Function Syntax
MAX ( expression )
-- Analytic Function Syntax
MAX ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Bağımsız değişkenler
expression
Sabit, sütun adı veya işlev ve aritmetik işleçlerin herhangi bir bileşimidir. Toplama işlevlerine ve alt sorgulara izin verilmez.
MAX, Bit, Bigint, Datetime ve Float sütunlarıyla kullanılabilir.
MAX, NVARCHAR(MAX) ile aşağıdaki davranışla da kullanılabilir:
- Sütun açıkça NVARCHAR(MAX) olarak atılmadıysa, MAX bunu örtük olarak FLOAT'a dönüştürmeyi dener. Tür uyuşmazlıkları hatalara neden olur.
- Sütun , CAST veya TRY_CAST kullanılarak açıkça NVARCHAR(MAX) olarak değiştirildiyse, en büyük dize değeri döndürülür.
OVER ([<PARTITION BY yan tümcesi><LIMIT DURATION yan tümcesi> [<WHEN yan tümcesi>]]
MAX'in 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
İfadeyle aynı değeri döndürür.
Örnekler
Toplama söz dizimi ile satır sayısını azaltacağız. Burada her saatlik ücretli ücret üst sınırını seçiyoruz:
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MAX(Toll) AS MaxFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
Analiz söz dizimi ile giriş kardinalitesini koruruz. Geçiş ücretinden geçen her araç için geçerli ücreti son bir saat içindeki maksimum ücretle karşılaştırıyoruz:
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