Partition-funktio

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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);