Palauttaa variantin (merkkijono), joka ilmaisee, missä numero esiintyy lasketuissa alueissa.
Syntaksi
Partition(number, start, stop, interval)
Partition-funktion syntaksilla on seuraavat argumentit:
| Argumentti | Kuvaus |
|---|---|
| Numero | Pakollinen. Kokonaisluku, jonka haluat määrittää alueissa. |
| alku | Pakollinen. Kokonaisluku, joka aloittaa numeroalueen. Luku ei voi olla nollaa pienempi. |
| loppu | Pakollinen. Kokonaisluku, joka lopettaa numeroalueen. Luku ei voi olla yhtä suuri tai pienempi kuin aloitusluku. |
| aikaväli | Pakollinen. Kokonaisluku, joka määrittää osioiden koon kokonaislukualueella ( aloitus - ja pysäytysvälillä). |
Huomautuksia
Partition-funktio tunnistaa alueen, jolla luku laskee, ja palauttaa variantin (merkkijonon), joka kuvaa kyseistä aluetta. Partition-funktiosta on eniten hyötyä kyselyissä. Voit luoda valintakyselyn, joka näyttää, kuinka monta tilausta kuuluu eri alueille, esimerkiksi tilausarvot 1–1000, 1001–2000 ja niin edelleen.
Seuraavasta taulukosta näet, miten alueet määritetään käyttämällä kolmea aloitus-, pysäytys- ja aikaväliargumenttijoukkoa. Ensimmäinen alue- ja Viimeinen alue -sarakkeissa näkyy, mitä Partition-funktio palauttaa. Alueita edustaa alempi arvo:ylempi arvo, jossa alueen alapää (alempi arvo) on erotettu alueen yläpäästä (ylempi arvo) kaksoispisteellä (:).
| Aloittaa | Seis | väli | Ennen ensimmäistä | Ensimmäinen alue | Viimeinen alue | Viimeisen jälkeen |
|---|---|---|---|---|---|---|
| 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: " |
Yllä olevassa taulukossa kolmas rivi näyttää tuloksen, kun aloitus - ja pysäytys -määritykset määrittävät lukujoukon, jota ei voi jakaa tasaisesti välillä. Viimeinen alue ulottuu loppuun (11 lukua), vaikka väli on 20.
Tarvittaessa Partition palauttaa alueen, jossa on riittävästi alussa olevia välilyöntejä, jotta kaksoispisteen vasemmalla ja oikealla puolella on sama määrä merkkejä kuin lopussa on merkkejä sekä yksi. Tämä mahdollistaa sen, että jos käytät Partition-funktiota muiden lukujen kanssa, tuloksena oleva teksti käsitellään oikein minkä tahansa myöhemmän lajittelutoiminnon aikana.
Jos väli on 1, alue on luku:luku, riippumatta aloitus - ja pysäytysargumenteista . Jos väli on esimerkiksi 1, luku on 100 ja loppu on 1 000, Partition palauttaa "100: 100".
Jos jokin osista on tyhjäarvo, Partition palauttaa tyhjäarvon.
Esimerkkejä kyselystä
| Lauseke | Tulokset |
|---|---|
| SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); | Luo joukon alueita kentän "yksikköhinta" arvoille "aloitus"(40) ja "pysäytys"(240), joiden koko on yhtä suuri kuin "aikaväli"(20), ja laskee yksikköhinta-argumentin määrän vastaavilla alueilla. Näyttää alueet sarakkeessa PriceRange ja laske sarakkeessa 'Määrä'. |
VBA-esimerkki
Tässä esimerkissä oletetaan, että sinulla on Freight (Rahti) -kentän sisältävä Orders (Tilaukset) -taulukko. Esimerkissä luodaan valintatoimintosarja, joka laskee sellaisten tilausten lukumäärän, joiden rahtikulu kuuluu jokaiseen alueeseen. Partition-funktiota käytetään ensin näiden alueiden laatimiseen, ja SQL Count -funktio laskee sen jälkeen tilausten määrän jokaisessa alueessa. Tässä esimerkissä argumentit Partition-funktiolle ovat alku = 0, loppu = 500, väli = 50. Ensimmäinen alue olisi silloin 0:49 ja niin edelleen aina 500:aan asti.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);