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 |
|---|---|
| antal | 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). |
Kommentarer
Funktionen Partition 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.
I följande tabell visas hur intervallen bestäms med hjälp av tre uppsättningar start-, stopp- och intervallargument . Kolumnerna för första och sista intervall visar vad Partition returnerar. Intervallen representeras av lowervalue:uppervalue, där intervallets nedre del (lowervalue) avgränsas från den övre delen (uppervalue) med ett kolon (:).
| Börja | stoppa | 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 efter intervall. Det sista intervallet utökas till stopp (11 siffror) ä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. 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 blir området tal:tal, oavsett start - och stoppargumenten . Till exempel, om intervall är 1, tal är 100 och stopp är 1000, returnerar Partition "100: 100".
Om någon av delarna är Null returnerar Partition en Null.
Exempel på frågor
| 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 storlek "intervall"(20) och beräknar antalet "enhetspris" i respektive intervall. Visar intervallen i kolumnen Prisintervall och antalet 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);