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

  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006
  • sinumatic

    sinumatic

    19 Aralık 2006
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014