Kayan pencereler

SQL ile Veri İşleme

Mona Khalil

Data Scientist, Greenhouse Software

Kayan pencereler

  • Geçerli satıra göre hesaplamalar yapar
  • Kümülatif toplam, toplam, ortalama vb. için kullanılabilir
  • Bir veya daha fazla sütuna göre bölümlenebilir
SQL ile Veri İşleme

Kayan pencere anahtar sözcükleri

ROWS BETWEEN <start> AND <finish>
PRECEDING
FOLLOWING
UNBOUNDED PRECEDING
UNBOUNDED FOLLOWING
CURRENT ROW
SQL ile Veri İşleme

Kayan pencere örneği

-- Manchester City iç saha maçları 
SELECT 
  date,
  home_goal,
  away_goal,
  SUM(home_goal) 
     OVER(ORDER BY date ROWS BETWEEN 
          UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total
FROM match
WHERE hometeam_id = 8456 AND season = '2011/2012';
| date       | home_goal | away_goal | running_total |
|------------|-----------|-----------|---------------|
| 2011-08-15 | 4         | 0         | 4             |
| 2011-09-10 | 3         | 0         | 7             |
| 2011-09-24 | 2         | 0         | 9             |
| 2011-10-15 | 4         | 1         | 13            |
SQL ile Veri İşleme

Kayan pencere çerçevesi

-- Manchester City iç saha maçları 
SELECT date,
       home_goal,
       away_goal,
       SUM(home_goal) 
          OVER(ORDER BY date 
          ROWS BETWEEN 1 PRECEDING 
          AND CURRENT ROW) AS last2
FROM match
WHERE hometeam_id = 8456
      AND season = '2011/2012';

SQL ile Veri İşleme

Haydi pratik yapalım!

SQL ile Veri İşleme

Preparing Video For Download...