Vrátenie hodnoty Variant (reťazec), ktorá v rámci vypočítanej série rozsahov určuje miesto výskytu čísla.
Syntax
Partition ( číslo, začiatok, koniec, interval)
Syntax funkcie Partition má tieto argumenty:
Argument |
Popis |
číslo |
Povinný argument. Celé číslo, ktoré chcete porovnať s rozsahmi. |
začiatok |
Povinný argument. Celé číslo, ktoré je začiatkom celého rozsahu čísel. Číslo nesmie byť menšie ako 0. |
koniec |
Povinný argument. Celé číslo, ktoré je koncom celého rozsahu čísel. Číslo nemôže byť rovnaké ani menšie ako číslo argumentu začiatok. |
interval |
Povinný argument. Celé číslo, ktoré určuje veľkosť oblastí v celom rozsahu čísel (medzi číslom argumentu začiatok a číslom argumentu koniec). |
Poznámky
Funkcia Partition určí konkrétny rozsah, do ktorého číslo patrí, a vráti Variant (reťazec), ktorý popisuje tento rozsah. Funkcia Partition je najužitočnejšia v dotazoch. Môžete vytvoriť a zvoliť dotaz, ktorý zobrazuje počet objednávok v rôznych rozsahoch, napríklad hodnoty v rade od 1 do 1000, 1001 do 2000 a tak ďalej.
V nasledujúcej tabuľke je znázornený postup určovania týchto rozsahov s pomocou troch množín argumentov začiatok, koniec a interval. V stĺpcoch Prvý rozsah a Posledný rozsah je uvedené, čo funkcia Partition vracia. Rozsahy sú zastúpené rozsahom dolná hodnota:horná hodnota, pričom dolný koniec (dolná hodnota) rozsahu je od horného konca (horná hodnota) rozsahu oddelený dvojbodkou (:).
začiatok |
koniec |
interval |
Pred prvým |
Prvý rozsah |
Posledný rozsah |
Po poslednom |
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 predchádzajúcej tabuľke je v treťom riadku uvedený výsledok situácie, keď začiatok a koniec určujú množinu čísel, ktoré sa nedajú rovnomerne rozdeliť intervalom. Posledný rozsah prechádza až do konca (11 čísel), hoci hodnota intervalu je 20.
Ak je to potrebné, funkcia Partition vráti rozsah s dostatočným počtom počiatočných medzier, aby sa naľavo a napravo od dvojbodky nachádzal rovnaký počet znakov ako na konci, plus jeden. Tým sa zabezpečí, že keď použijete funkciu Partition s inými číslami, výsledný text sa pri nasledujúcom zoraďovaní spracuje správne.
Ak je hodnota intervalu 1, rozsah je číslo:číslo bez ohľadu na argumenty začiatok a koniec. Napríklad ak je hodnota intervalu 1, číslo je 100 a koniec má hodnotu 1000, funkcia Partition vráti hodnotu „ 100: 100“.
Ak má ktorákoľvek z častí hodnotu nula, funkcia Partition vráti hodnotu nula.
Príklady dotazu
Výraz |
Výsledky |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Vytvorí množinu rozsahov pre hodnoty v poli jednotkovácena od "start"(40) po "stop"(240) s rovnakou veľkosťou "interval"(20) a vypočíta počet jednotkovej ceny v príslušných rozsahoch. Zobrazí rozsahy v stĺpci PriceRange a počet v stĺpci Počet. |
Príklad jazyka VBA
V tomto príklade sa predpokladá, že máte tabuľku Objednávky, ktorá obsahuje pole Preprava. Vytvorí výberový postup, ktorý spočíta počet objednávok, pre ktoré prepravné náklady spadajú do každého z niekoľkých rozsahov. Funkcia Partition sa použije najprv na vytvorenie týchto rozsahov, potom funkcia SQL Count spočíta počet objednávok v každom rozsahu. V tomto príklade sú argumenty pre funkciu Partitionpočiatočné = 0, koniec = 500, interval = 50. Prvý rozsah by preto bol 0:49 a tak ďalej až 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);