SORU
7 Temmuz 2009, Salı


Oracle madde ÜZERİNDE

Oracle ÜZERİNDE deyimin anlamı nedir?

CEVAP
7 Temmuz 2009, Salı


Tümce İÇİNDE bölünmesi, "" analitik fonksiyon çalışır. üzerinden sipariş & pencere belirtir

Örneğin, bu hareketli ortalama hesaplar:

AVG(amt) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)

date   amt   avg_amt
=====  ====  =======
1-Jan  10.0  10.5
2-Jan  11.0  17.0
3-Jan  30.0  17.0
4-Jan  10.0  18.0
5-Jan  14.0  12.0

Üzerinde hareketli bir pencere (3 satır) geniş satır, tarih tarafından sipariş üzerinde çalışır.

Bu çalışan bir denge hesaplar:

SUM(amt) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

date   amt   sum_amt
=====  ====  =======
1-Jan  10.0  10.0
2-Jan  11.0  21.0
3-Jan  30.0  51.0
4-Jan  10.0  61.0
5-Jan  14.0  75.0

Geçerli satır ve önceki tüm satırları içeren bir pencere üzerinde çalışır.

Bu en fazla, her biri için ayrı ayrı hesaplar"": . dept

MAX(amt) OVER (PARTITION BY dept)

dept  amt   max_amt
====  ====  =======
ACCT   5.0   7.0
ACCT   7.0   7.0
ACCT   6.0   7.0
MRKT  10.0  11.0
MRKT  11.0  11.0
SLES   2.0   2.0

Belirli bir bölümü için tüm satırları içeren bir pencere üzerinde çalışır.

SQL Keman: http://sqlfiddle.com/#!4/9eecb7d/122

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • HER0R

    HER0R

    16 Aralık 2007
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010