Bazy danych

Witryna zawiera podstawowe informacje odnośnie funkcji w bazach danych takich jak MySQL i Oracle oraz podstawowe informacje dotyczące zapytań.

wtorek, 21 lutego 2012

ORACLE - WIDTH_BUCKET()

WIDTH_BUCKET()

WIDTH_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ł

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, ...)

Brak komentarzy:

Prześlij komentarz