Bazy Danych

WIDTH_BUCKET()

Email Drukuj PDF
a_oracleWIDTH_BUCKET(wartosc1, wartosc2, wartosc3, wartosc4)

Dzieli zbiór na określoną przez nas liczbę podzbiorów.

wartosc1 - określa zbiór, na którym będziemy tworzyli nasze przedziały (np. tabela)
wartosc2 - dolny zakres przedziału.
wartosc3 - górny zakres przedziału.
wartosc4 - liczba przedziałów, na które dzielimy dany przedział <wartosc2, wartosc3>

UWAGA!!!
Jako "wartosc1" mogą być brane pod uwagę wartości numeryczne, albo daty.
Liczba przedziałów, na które dzielimy równa się "LICZBA PRZEDZIAŁÓW + 1"!



Poniższy przykład bardzo dobrze zobrazuje działanie funkcji:

Tworzymy tabelę MOJATABELA z jedną kolumną "i" (NUMBER - przechowujemy liczby).
CREATE TABLE MOJATABELA (
i NUMBER
);

Dodajemy rekordy do tabeli:
INSERT INTO MOJATABELA VALUES(10);
INSERT INTO MOJATABELA VALUES(20);
INSERT INTO MOJATABELA VALUES(30);
INSERT INTO MOJATABELA VALUES(40);
INSERT INTO MOJATABELA VALUES(50);


CREATE TABLE succeeded.
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted


Wyświetlamy zawartość tabeli MOJATABELA;
SELECT * FROM MOJATABELA;

I                      
----------------------
10                     
20                     
30                     
40                     
50                     

5 rows selected


Przykład 1:
SELECT i, WIDTH_BUCKET(i, 10, 50, 4) FROM MOJATABELA;

I                      WIDTH_BUCKET(I,10,50,4)
---------------------- -----------------------
10                     1                       
20                     2                       
30                     3                       
40                     4                       
50                     5                       

5 rows selected


Liczby 10,20,30,40,50 są dzielone na 5 przedziały (4+1).

Przedział zerowy (..., 10)
Pierwszy przedział <10,20)
Drugi przedział <20, 30)
Trzeci przedział <30, 40)
Czwarty przedział <40, 50)
Piąty przedział <50, ...)
 
You are here: Strona główna » Funkcje numerzcyne » WIDTH_BUCKET()