Daje varijantu (nisku) koja ukazuje na to gde se broj pojavljuje u izračunatom nizu opsega.
Sintaksa
Partition(broj, početak, tačka, interval)
Sintaksa funkcije Partition ima sledeće argumente:
| Argument | Opis |
|---|---|
| broj | Obavezno. Ceo broj koji želite da procenite u odnosu na opsege. |
| Meni "Start" | Obavezno. Ceo broj koji predstavlja početak ukupnog opsega brojeva. Broj ne sme biti manji od 0. |
| Zaustavi | Obavezno. Ceo broj koji predstavlja 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 ukupnom opsegu brojeva (između početka i kraja). |
Napomene
Funkcija Partition identifikuje određeni opseg u koji se nalazi broj i daje varijantu (nisku) koja opisuje taj opseg. Funkcija Partition je najkorisnija u upitima. Možete da kreirate upit za izdvajanje koji prikazuje koliko porudžbina se nalazi u različitim opsezima, na primer vrednosti porudžbina od 1 do 1000, od 1001 do 2000 i tako dalje.
Sledeća tabela prikazuje kako se opsezi određuju pomoću tri skupa argumenata "početak", "prekid" i "interval ". Kolone "Prvi opseg" i "Poslednji opseg" prikazuju šta vraća particija . Opsezi su predstavljeni pomoću lowervalue:uppervalue, gde je donji kraj (donja vrednost) opsega odvojen od gornjeg kraja (gornja vrednost) opsega pomoću dvotačke (:).
| Meni "Start" | 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 gorenavedenoj tabeli, treći red prikazuje rezultat kada početak i kraj definišu skup brojeva koji se ne mogu ravnomerno podeliti po intervalima. Poslednji opseg se proteže do zaustavljanja (11 brojeva) iako je interval 20.
Ako je neophodno, funkcija "Partition " vraća opseg sa dovoljno razmaka na početku tako da ima isti broj znakova sa leve i desne strane dvotačke kao i znakova u tački, plus jedan. Ako koristite polje "Particija " sa drugim brojevima, to će obezbediti da se dobijenim tekstom ispravno rukuje tokom svake naredne operacije sortiranja.
Ako je interval 1, opseg je broj:broj, bez obzira na argumente početak i kraj. Na primer, ako je interval 1, broj je 100 a stop je 1000, Partition daje " 100: 100".
Ako je bilo koji od delova "Null", "Partition " daje vrednost "Null".
Primeri upita
| Izraz | Rezultati |
|---|---|
| SELECT Partition(jediničnacena,40,240,20) AS RasponCena, count(productsales.jediničnacena) AS Count FROM productSales GROUP BY Partition(jediničnacena,40,240,20); | Kreira skup opsega za vrednosti u polju "JediničnaCena" od "Početak"(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 "Cenovni opseg" i broj u koloni "Broj". |
VBA primer
Ovaj primer pretpostavlja da imate tabelu "Porudžbine" koja sadrži polje "Troškovi prevoza". On kreira proceduru za izbor koja prebrojava broj porudžbina za koje troškovi prevoza spadaju u svaki od nekoliko opsega. Funkcija Partition se prvo koristi za utvrđivanje 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. Prvi opseg bi stoga bio 0:49, i tako dalje 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);