Maksimum

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

İfadedeki en büyük değeri döndürür.

Sözdizimi

-- Aggregate Function Syntax
MAX ( expression )

-- Analytic Function Syntax
MAX ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])

Tartışmalar

ifade

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 yayınlanmadı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 oluşturulduysa, 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 bir 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 için en yüksek ücreti 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. Burada 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

Ayrıca Bkz.