Vrne Variant (niz), ki označuje, kje v izračunanem nizu obsegov se pojavi število.
Sintaksa
Partition( število, začetek, konec, interval)
Sintaksa funkcije Partition ima te argumente:
Argument |
Opis |
število |
Obvezno. Celo število, ki ga želite oceniti glede na obsege. |
začetek |
Obvezno. Celo število, ki je začetek celotnega obsega števil. Število ne sme biti manjše od 0. |
konec |
Obvezno. Celo število, ki je konec celotnega obsega števil. Število ne sme biti enako ali manjše od začetka. |
interval |
Obvezno. Celo število, ki določa velikost delov v celotnem obsegu števil (med začetkom in koncem). |
Opombe
Funkcija Partition identificira določen obseg, v katero pade število in vrne Variant (niz), ki opisuje ta obseg. Funkcija Partition je najbolj uporabna v poizvedbah. Ustvarite lahko poizvedbo za izbiranje, ki prikazuje, koliko naročil pade v različne obsege, na primer, vrednosti naročil od 1 do 1000, 1001 do 2000 in tako naprej.
Spodnja tabela prikazuje, kako so obsegi določeni s tremi nabori argumentov začetek, konec in interval. V stolpcih »Prvi obseg« in »Zadnji obseg« je prikazano, kaj vrne funkcija Partition. Obsege predstavljata spodnja meja:zgornja meja, kjer je spodnji konec (spodnja vrednost) obsega od zgornjega konca (zgornja vrednost) obsega ločen z dvopičjem (:).
začetek |
konec |
interval |
Pred prvo |
Prvi obseg |
Zadnji obseg |
Po zadnji |
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: " |
V zgornji tabeli se v tretji vrstici prikaže rezultat, ko začetek in konec določata nabor števil, ki ga ni mogoče enakomerno razdeliti z intervalom. Zadnji obseg se razširi na konec (11 števil), čeprav je interval 20.
Po potrebi funkcija Partition vrne obseg z zadostnim številom začetnih presledkov, tako da je levo in desno od dvopičja enako število znakov, kot je znakov v argumentu konec plus ena. Tako zagotovite, da bo pri uporabi funkcije Partition z drugimi števili, vrnjeno besedilo pravilno obravnavano v vseh nadaljnjih razvrščanjih.
Če je interval 1, je obseg število:število, ne glede na argumenta začetek in konec. Na primer, če je interval 1, število 100 in konec 1000, funkcija Partition vrne " 100: 100".
Če je kateri koli del Null, funkcija Partition vrne Null.
Primeri poizvedb
Izraz |
Rezultati |
SELECT Partition(cenaenote,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(cenaenote,40,240,20); |
Ustvari nabor obsegov za vrednosti v polju »cenaEnote« od »začetek« (40) do »stop« (240) z enako velikostjo »interval«(20) in izračuna število »cenaEnote« v ustreznih obsegih. Prikaže obsege v stolpcu »PriceRange« in število v stolpcu »Štetje«. |
primer VBA
V tem primeru se predvideva, da imate tabelo »Naročila«, ki vsebuje polje »Tovor«. Ta ustvari postopek izbire, ki prešteje število naročil, katerih prevozni stroški padejo v vsakega od več obsegov. Funkcija Partition se najprej uporabi za določanje teh obsegov, nato pa funkcija SQL Count prešteje število naročil v posamičnem obsegu. V tem primeru so argumenti funkcije Partitionzačetek = 0, konec = 500, interval = 50. Prvi obseg je tako 0:49 in tako naprej 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);