Pateikia variantą (eilutę), nurodantį, kur skaičius atsiranda apskaičiuotoje diapazonų sekoje.
Sintaksė
Partition( skaičius, pradžia, sustabdymas, intervalas)
Funkcijos Partition sintaksė turi tokius argumentus:
Argumentas |
Aprašas |
skaičius |
Būtinas. Sveikasis skaičius, kurį norite įvertinti pagal diapazonus. |
pradžia |
Būtinas. Sveikasis skaičius, kuris yra bendro skaičių diapazono pradžia. Skaičius negali būti mažesnis už 0. |
stabdyti |
Būtinas. Sveikasis skaičius, kuris yra viso skaičių diapazono pabaiga. Skaičius negali būti lygus arba mažesnis už pradinį. |
intervalas |
Būtinas. Sveikasis skaičius, nurodantis skaidinių dydį bendrame skaičių diapazone (nuo pradžios ikisviršaus). |
Pastabos
Skaidinio funkcija identifikuoja konkretų diapazoną, kuriame skaičius patenka ir pateikia variantą (eilutę), apibūdinantį tą diapazoną. Skaidinio funkcija yra naudingiausia užklausose. Galite sukurti išrinkimo užklausą, kuri rodo, kiek užsakymų patenka į įvairius diapazonus, pvz., užsakymo reikšmės nuo 1 iki 1 000, nuo 1001 iki 2000 ir t. t.
Šioje lentelėje parodyta, kaip diapazonai nustatomi naudojant tris pradžios, stabdymo ir intervalo argumentų rinkinius. Stulpeliai Pirmasis diapazonas ir Paskutinis diapazonas rodo, ką pateikia skaidinys . Diapazonai vaizduojami lowervalue:uppervalue, kur žema pabaigos reikšmė (apatinė reikšmė) diapazone yra atskirta nuo viršutinės diapazono reikšmės (viršutinė reikšmė) dvitaškiu (:).
pradžia |
stabdyti |
intervalas |
Prieš pirmą |
Pirmasis diapazonas |
Paskutinis diapazonas |
Po paskutinio |
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: " |
Aukščiau pateiktoje lentelėje trečioji eilutė rodo rezultatą, kai pradedama ir sustabdoma , apibrėžia skaičių rinkinį, kurio negalima tolygiai padalyti į intervalą. Paskutinis diapazonas išplečiamas iki pabaigos (11 skaičių), nors intervalas yra 20.
Jei reikia, skaidinys pateikia diapazoną, kuriame yra pakankamai tarpų pradžioje, kad būtų tiek pat simbolių į kairę ir į dešinę nuo dvitaškio, kaip ir stabdymo simbolių, plius vienas. Tai užtikrina, kad naudojant skaidinį su kitais skaičiais, gautas tekstas bus tinkamai apdorotas atliekant bet kurią kitą rūšiavimo operaciją.
Jei intervalas yra 1, diapazonas yra skaičius:skaičius, neatsižvelgiant į pradžios ir pabaigos argumentus. Pavyzdžiui, jei intervalas yra 1, skaičius yra 100, o sustojimas yra 1 000, funkcija Skaidinys grąžina " 100: 100".
Jei kuri nors iš dalių yra Null, skaidinys grąžina Null.
Užklausų pavyzdžiai
Reiškinys |
Rezultatai |
SELECT Partition(vieneto kaina,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Sukuria reikšmių diapazonų rinkinį lauke "vieneto kaina" nuo "pradžios"(40) iki "stabdyti"(240), kurių dydis lygus "intervalas"(20) ir apskaičiuoja "vieneto kainą" atitinkamuose diapazonuose. Rodo stulpelio PriceRange diapazonus ir skaičių stulpelyje Skaičiavimas. |
VBA pavyzdys
Šiame pavyzdyje daroma prielaida, kad turite lentelę Užsakymai, kurioje yra laukas Transportavimo mokestis. Ji sukuria išrinkimo procedūrą, kuri suskaičiuoja užsakymų, kurių gabenimo išlaidos patenka į kiekvieną iš kelių diapazonų, skaičių. Funkcija Partition pirmiausia naudojama šiems diapazonams nustatyti, tada funkcija SQL Count suskaičiuoja kiekvieno diapazono užsakymų skaičių. Šiame pavyzdyje funkcijos Partition argumentai yra pradžia = 0, stop = 500, intervalas = 50. Todėl pirmasis diapazonas būtų 0:49 ir t. t. iki 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);