Middle — Senior
SQL-də daxili funksiyasız medianı necə hesablamaq olar? Cədvəldə sətirlərin sayını necə hesablamaq olar? Pəncərə funksiyaları haqqında bilirsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
SQL-də daxili funksiyası olmayan median pəncərə funksiyaları və ya alt sorğular istifadə edilərək hesablanabilir. Məsələn, value adlı sayısal sütunu olan cədvəl üçün:
SELECT AVG(value) AS median FROM (
SELECT value, ROW_NUMBER() OVER (ORDER BY value) AS rn, COUNT(*) OVER () AS cnt
FROM your_table
) sub
WHERE rn IN ((cnt + 1) / 2, (cnt + 2) / 2);
Burada:
ROW_NUMBER()satırları artan dəyərə görə nömrələyir.COUNT(*) OVER ()ümumi satır sayını hesablayır.- İki mərkəzi elementin orta qiyməti alınır (cüt sayda) və ya tək mərkəzi element (tək sayda).
Cədvəldəki satırların sayını hesablamaq çox sadədir:
SELECT COUNT(*) FROM your_table;
Pəncərə funksiyaları, cari satırla əlaqəli satır dəstində hesablama aparan və nəticəni tək satıra endirməyən funksiyalardır. Onlar sıralama, hərəkətli cəm, median və s. üçün faydalıdır.
Pəncərə funksiyasına nümunə:
SELECT value, ROW_NUMBER() OVER (ORDER BY value) AS rn FROM your_table;
Bu, value dəyərinə görə satırları artan sırayla nömrələyəcək.