Returnerar en Variant (sträng) som anger var i en beräknad intervallserie ett tal förekommer.
Syntax
Partition( tal, start, stopp, intervall)
Partition-funktionens syntax har följande argument:
Argument |
Beskrivning |
tal |
Obligatoriskt. Heltal som du vill beräkna mot intervallerna. |
start |
Obligatoriskt. Heltal som finns i början av den övergripande taluppsättningen. Talet kan inte vara mindre än 0. |
stopp |
Obligatoriskt. Heltal som finns i slutet av den övergripande taluppsättningen. Talet kan inte vara lika med eller mindre än start. |
intervall |
Obligatoriskt. Heltal som anger storleken på partitionerna inom den övergripande taluppsättningen (mellan start och stopp). |
Anmärkningar
Partition-funktionen identifierar det intervall där talet finns och returnerar en Variant (sträng) som beskriver intervallet. Partition-funktionen är mest användbar i frågor. Du kan skapa en urvalsfråga som visar hur många order som faller inom olika intervall, till exempel ordervärden från 1 till 1 000, 1 001 till 2 000 och så vidare.
Följande tabell visar hur intervallen bestäms med tre uppsättningar för argumenten start-, stopp- och intervall. Kolumnerna för första och sista intervall visar vad Partition returnerar. Områdena representeras av minsta värde:största värde där intervallets nedre del (minsta värde) avgränsas från den övre delen(största värde) med ett kolon (:).
start |
stopp |
intervall |
Före första |
Första intervall |
Sista intervall |
Efter sista |
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 tabellen ovan visar den tredje raden resultatet när start och stopp definierar en uppsättning tal som inte kan delas jämnt medintervallet. Det sista intervallet utökas till stopp (11 tal) även om intervallet är 20.
Om nödvändigt returnerar Partition ett intervall med inledande blanksteg så att det finns lika många tecken till vänster och höger om kolonet som det finns tecken i stopp, plus ett till. Detta säkerställer att om du använder Partition med andra tal kommer den resulterande texten att hanteras korrekt vid efterföljande sortering.
Om intervall är 1 är intervallet tal:tal oavsett om start och stopp är argument. Exempel: Om intervall är 1, tal är 100 och stopp är 1 000, returnerar Partition "100: 100".
Om någon av delarna är Null returnerar Partition en Null.
Frågeexempel
Uttryck |
Resultat |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Skapar en uppsättning intervall för värdena i fältet "enhetspris" från "start"(40) till "stopp"(240) med samma "intervall"(20) storlek och beräknar antalet "enhetspris" i respektive intervall. Visar intervallen i kolumnen Prisordning och antal i kolumnen Antal. |
VBA-exempel
Det här exemplet förutsätter att du har en ordertabell som innehåller ett fält för Frakt. Den skapar en valbar procedur som räknar antalet order där fraktkostnaderna tillhör något av flera intervaller. Partition-funktionen används först för att bestämma intervallen och sedan räknar SQL Count-funktionen antalet order för varje intervall. I det här exemplet är argumenten för Partition-funktionen start = 0, stopp = 500, intervall = 50. Det första intervallet är därför 0:49, och så vidare upp till 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);