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

  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • karneson

    karneson

    23 Temmuz 2006
  • Tips On Linux

    Tips On Linu

    26 Temmuz 2008