Sobes.tech
Middle

SQL'de pencere fonksiyonları kullanarak verileri nasıl gruplara ayırırsınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

SQL'deki pencere fonksiyonları, GROUP BY kullanımı gibi sonucu tek bir satıra indirgemeden, satır grupları üzerinde hesaplamalar yapmaya olanak tanır. Her satır için tanımlanmış bir satır kümesi (pencere) üzerinde çalışırlar.

Verileri gruplara ayırmak ve pencere fonksiyonlarını uygulamak için OVER (PARTITION BY ...) yapısı kullanılır. Örneğin:

SELECT
  employee_id,
  department_id,
  salary,
  RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Burada, veriler department_id'ye göre gruplandırılır ve her grup içinde maaş sıralaması hesaplanır.

Bu şekilde, pencere fonksiyonları verileri gruplar halinde analiz etmeye olanak tanır, aynı zamanda orijinal tablodaki tüm satırları korur.