Daje tip podataka Varijanta (Niska) koji ukazuje na to gde se broj pojavljuje unutar izračunate grupe opsega.
Sintaksa
Partition( broj, početak, zaustavljanje, interval)
Sintaksa funkcije Partition ima sledeće argumente:
Argument |
Opis |
broj |
Obavezno. Ceo broj koji želite da procenite u odnosu na opsege. |
početak |
Obavezno. Ceo broj koji je početak ukupnog opsega brojeva. Broj ne može biti manji od 0. |
zaustavi |
Obavezno. Ceo broj koji je kraj ukupnog opsega brojeva. Broj ne može biti jednak ili manji od početka. |
interval |
Obavezno. Ceo broj koji navodi veličinu particija u okviru ukupnog opsega brojeva (između početka i svrha). |
Napomene
Funkcija Partition identifikuje određeni opseg u kojem se broj nalazi i daje tip podataka Varijanta (Niska) koji opisuje taj opseg. Funkcija Partition je najkorisnija u upitima. Možete da kreirate upit za izdvajanje koji pokazuje koliko porudžbina pada unutar različitih opsega, na primer vrednosti porudžbina od 1 do 1000, 1001 do 2000 i tako dalje.
Sledeća tabela prikazuje kako se opsezi određuju pomoću tri skupa argumenata početka ,zaustavljanjai intervala . Kolone Prvi opseg i Poslednji opseg pokazuju šta particija daje. Opsezi su predstavljeni malim vrednostima:gornja vrednost, gde je nizak kraj (donja vrednost) opsega razdvojen od visoke vrednosti (velika vrednost) opsega sa dvotačku (:).
početak |
zaustavi |
interval |
Pre prvog |
Prvi opseg |
Poslednji opseg |
Posle poslednjeg |
0 |
99 |
5 |
" :-1" |
" 0: 4" |
" 95: 99" |
" 100: " |
20 |
199 |
10 |
" : 19" |
" 20: 29" |
" 190: 199" |
" 200: " |
100 |
1010 |
20 |
" : 99" |
" 100: 119" |
" 1000: 1010" |
" 1011: " |
U tabeli koja je prikazana iznad, treći red prikazuje rezultat kada se pokrene i zaustavi definisanje skupa brojeva koji se ne mogu ravnomerno podeliti intervalom. Poslednji opseg se proširuje do zaustavljanja (11 brojeva) iako je interval 20.
Po potrebi, Particija vraća opseg sa dovoljno razmaka na početku tako da postoji isti broj znakova sa leve i desne strane dvotačke kao znakovi u tački, plus jedan. To osigurava da ako koristite particiju sa drugim brojevima, rezultujući tekst će biti ispravno obrađen tokom bilo koje naredne operacije sortiranja.
Ako je interval 1, opseg je broj:broj, bez obzira na argumente početaki zaustavljanje. Na primer, ako je interval1, broj je 100, a tačka 1000, particija daje " 100: 100".
Ako je neki od delovaBez vrednosti, Particija vraća vrednost Null.
Primeri upita
Izraz |
Rezultati |
SELECT Particija(cena po jedinici,40.240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(cena po jedinici,40,240,20); |
Kreira skup opsega za vrednosti u polju "cena po jedinici" od "start"(40) do "stop"(240) sa jednakom veličinom "interval"(20) i izračunava broj "cena po jedinici" u odgovarajućim opsezima. Prikazuje opsege u koloni PriceRange i broj u koloni "Broj". |
VBA primer
Ovaj primer pretpostavlja da imate tabelu "Porudžbine" koja sadrži polje "Troškovi prevoza". Kreira se procedura za izbor koja prebrojava broj porudžbina za koje trošak prevoza spada u svaki od nekoliko opsega. Funkcija Partition se prvo koristi za uspostavljanje ovih opsega, a zatim funkcija SQL Count prebrojava broj porudžbina u svakom opsegu. U ovom primeru, argumenti funkcije Partition su start = 0 , stop = 500, interval = 50. Stoga bi prvi opseg bio 0:49, a tako dalje i do 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);