PUBLISHED
Jak spočítat medián pro aktuální skupinu v SQL Serveru
Převod korelovaného výpočtu minima na medián pomocí PERCENTILE_CONT bez porušení scalar subquery kontraktu.
Problém
Existující korelované subquery vracelo minimum pro aktuální skupinu. Požadavek byl změnit metriku na medián.
Kontext
PERCENTILE_CONT(0.5) je v SQL Serveru analytická funkce s WITHIN GROUP a OVER; nechová se stejně jako jednoduchá agregace MIN.
Řešení
Zachovej původní filtry a korelaci, medián vypočti přes PERCENTILE_CONT nad partition aktuální skupiny a zajisti, aby scalar subquery nakonec vracelo právě jednu hodnotu.
Ověření
Výsledek ověř na malé známé sadě s lichým i sudým počtem hodnot a porovnej s ručním výpočtem mediánu.
Omezení
PERCENTILE_CONT může vrátit interpolovanou hodnotu, která nemusí být jedním ze skutečně uložených řádků.
Původ: Anonymizovaná vlastní technická zkušenost autora projektu
Aktualizováno: 2026-08-04