Sobes.tech
Middle

SQL'de pencere fonksiyonu ile toplama fonksiyonu arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

SQL'de toplama fonksiyonu (örneğin, SUM, AVG, COUNT), satır grupları için tek bir toplam değer hesaplar ve her grup için bir satır döndürür. Örneğin, SUM(salary) tüm grup için maaşların toplamını hesaplar.

Pencere fonksiyonu (window function) de satır gruplarıyla çalışır, ancak pencere bağlamını (şu anki satırın etrafındaki satırların kümesi) dikkate alarak her satır için sonuç döndürür. Örneğin, SUM(salary) OVER (PARTITION BY department) her departman için maaşların toplamını, satır sayısını azaltmadan, her satır için döndürür.

Örnek:

SELECT employee_id, department, salary,
       SUM(salary) OVER (PARTITION BY department) AS dept_salary_sum
FROM employees;

Burada, her satır için departmandaki maaşların toplamı gösterilir, bir departman için tek bir satır yerine, GROUP BY ile kullanılan toplama fonksiyonuna kıyasla.