Returnerer en Variant (streng), der angiver, hvor tallet forekommer i en beregnet serie af områder.
Syntaks
Partition (tal, start, stop, interval)
Syntaksen for funktionen Partition har disse argumenter:
| Argument | Beskrivelse |
|---|---|
| tal | Obligatorisk. Helt tal, som du vil evaluere mod områderne. |
| start | Obligatorisk. Helt tal, som er starten af det overordnede talområde. Tallet må ikke være mindre end 0. |
| stop | Obligatorisk. Helt tal, som er slutningen på det overordnede talområde. Tallet må ikke være lig med eller mindre end start. |
| interval | Påkrævet. Helt tal, der angiver størrelsen af partitionerne inden for det overordnede talområde (mellem start og stop). |
Bemærkninger
Funktionen Partition identificerer det bestemte område, hvori tallet ligger, og returnerer en variant (streng), der beskriver dette område. Funktionen Partition er mest praktisk i forespørgsler. Du kan oprette en udvælgelsesforespørgsel, der viser, hvor mange ordrer, der falder inden for forskellige områder, f.eks. ordreværdier fra 1 til 1000, 1001 til 2000 og så videre.
I følgende tabel vises det, hvordan områderne bestemmes ved hjælp af tre sæt start-, stop- og intervalargumenter . Kolonnerne Første område og Sidste område viser, hvad Partition returnerer. Områderne repræsenteres af lavesteværdi:højesteværdi, hvor den lave ende (lavesteværdi) i området er adskilt fra den høje ende (øverstværdi) i området med et kolon (:).
| Start | Stop | interval | Før første | Første område | Sidste område | Efter sidste |
|---|---|---|---|---|---|---|
| 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: " |
I den tredje linje i tabellen herover vises resultatet, når start og stop definerer et sæt af tal, der ikke kan divideres lige efter interval. Det sidste område udvides til stop (11 tal), selvom intervallet er 20.
Hvis det er nødvendigt, returnerer Partition et område med tilstrækkeligt mange foranstillede mellemrum, så der er det samme antal tegn til venstre og højre for kolonet, som der er tegn i stop, plus ét. Det sikrer, at hvis du bruger Partition med andre tal, så håndteres den resulterende tekst korrekt under alle efterfølgende sorteringshandlinger.
Hvis interval er 1, er området tal:tal, uanset start - og stopargumenterne . Hvis intervallet f.eks. er 1, og tallet er 100, og stop er 1000, returnerer partitionen " 100: 100".
Hvis en af delene er Null, returnerer Partition en Null-værdi.
Eksempler på forespørgsel
| Udtryk | Resultater |
|---|---|
| SELECT Partition(enhedspris,40,240,20) AS Prisområde, tæl(produktsalg.enhedspris) AS Tæl FRA productSales GROUP BY Partition(enhedspris,40,240,20); | Opretter et sæt områder for værdierne i feltet "enhedspris" fra "start"(40) til "stop"(240) med samme størrelse for "interval"(20) og beregner antallet af "enhedspris" i de respektive områder. Viser intervallerne i kolonnen PriceRange og count i kolonnen 'Count'. |
VBA-eksempel
I dette eksempel antages det, at du har tabellen Ordrer, der indeholder feltet Fragt. Der oprettes en udvælgelsesprocedure, der tæller antallet af ordrer, hvor fragtomkostninger falder inden for hvert af flere områder. Funktionen Partition bruges først til at oprette disse områder, derefter tæller funktionen SQL Count antallet af ordrer i hvert område. I dette eksempel er argumenterne for funktionen Partitionstart = 0, stop = 500, interval = 50. Det første interval ville derfor være 0:49, og så videre op til 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);