SORU
18 ŞUBAT 2009, ÇARŞAMBA


Oracle "" Bölümü; anahtar Kelime

Birisi partition by anahtar ve eylem içinde basit bir örnekle, ne gibi bir şey kullanmak isteyeyim neden bana açıklayabilir mi lütfen? SQL sorgu başkası tarafından yazılmış ve ne yaptığını anlamaya çalışıyorum.

Bölüm örnek:

SELECT empno, deptno, COUNT(*) 
OVER (PARTITION BY deptno) DEPT_COUNT
FROM emp

Online gördüğüm örnekler derinlemesine de bir bit gibi görünüyor.

CEVAP
18 ŞUBAT 2009, ÇARŞAMBA


PARTITION BY fıkra setleri her biri için kullanılacak kayıt aralığını "GRUP" OVER maddesi kapsamında.

Örnek SQL, DEPT_COUNT her çalışanın kayıt için bu bölümü içinde çalışanların sayısını verecektir. (De-nomalising emp tablo gibidir; emp tablosundaki tüm kayıtları döndürür.)

emp_no  dept_no  DEPT_COUNT
1       10       3
2       10       3
3       10       3 <- three because there are three "dept_no = 10" records
4       20       2
5       20       2 <- two because there are two "dept_no = 20" records

Eğer başka bir sütun (örneğin, state) ise, bu durumda kaç bölümler Kont.

GROUP BY Bir(SUM, AVG, vb.) sonuçlarını almak gibi. sonuç kümesi toplama olmadan.

Bu yararlı kullandığınızda LAST OVER MIN OVER fonksiyonlar için, örneğin, en düşük ve en yüksek maaş bölümü ve daha sonra kullanan bir calulation karşı bu kayıtları maaşolmadanalt çok daha hızlı olan seçin.

Daha fazla ayrıntı için AskTom article bağlantılı bilgi edinin.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • captainpuppys2000

    captainpuppy

    20 HAZİRAN 2013
  • FullMag

    FullMag

    15 ŞUBAT 2007