Atgriež Variant (Virkne), kas norāda, kur skaitlis sastopams aprēķinātajā diapazonu sērijā.
Sintakse
Partition(skaitlis, sākums, apturēšana, intervāls)
Funkcijas Partition sintaksei ir šādi argumenti:
| Arguments | Apraksts |
|---|---|
| skaitlis | Obligāts arguments. Vesels skaitlis, kas jānovērtē attiecībā pret diapazoniem. |
| Sākt | Obligāts arguments. Vesels skaitlis, kas ir kopējā skaitļu diapazona sākums. Skaitlis nevar būt mazāks par 0. |
| apturēt | Obligāts arguments. Vesels skaitlis, kas ir skaitļu kopdiapazona beigas. Skaitlis nevar būt vienāds vai mazāks par sākumu. |
| intervāls | Obligāts arguments. Vesels skaitlis, kas norāda nodalījumu lielumu kopējā skaitļu diapazonā (starp sākuma un beigu datumu). |
Piezīmes
Funkcija Partition identificē konkrēto diapazonu, kurā krīt skaitlis, un atgriež šo diapazonu raksturojošu Variant (Virkni). Funkcija Partition ir visnoderīgākā vaicājumos. Varat izveidot atlases vaicājumu, kas rāda, cik pasūtījumu ietilpst dažādos diapazonos, piemēram, pasūtījumu vērtības no 1 līdz 1000, no 1001 līdz 2000 utt.
Tālāk esošajā tabulā parādīts, kā tiek noteikti diapazoni, izmantojot trīs sākuma, apturēšanas un intervāla argumentu kopas. Kolonnās Pirmais diapazons un Pēdējais diapazons rāda, kādu nodalījumu atgriež. Diapazoni tiek attēloti kā zemākā_vērtība:augstākā vērtība, kur diapazona zemākā vērtība (zemākā vērtība) ir atdalīta no diapazona augstākās vērtības (augšējā) ar kolu (:).
| Sākt | apturēt | intervāls | Pirms pirmā | Pirmais diapazons | Pēdējais diapazons | Pēc pēdējās |
|---|---|---|---|---|---|---|
| 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: " |
Iepriekš redzamajā tabulā trešajā rindiņā tiek rādīts rezultāts: start un stop definē skaitļu kopu, kuru nevar vienmērīgi sadalīt ar intervālu. Pēdējais diapazons tiek paplašināts līdz pieturai (11 skaitļi), lai gan intervāls ir 20.
Ja nepieciešams, nodalījums atgriež diapazonu ar pietiekami daudz sākuma atstarpēm, lai pa kreisi un pa labi no kola būtu tikpat daudz rakstzīmju kā pieturā un pieturā plus viens. Tas nodrošina, ka, izmantojot nodalījumu ar citiem skaitļiem, iegūtais teksts tiks pareizi apstrādāts visu turpmāko kārtošanas darbību laikā.
Ja intervāls ir 1, neatkarīgi no sākuma un apturēšanas argumentiem diapazons ir skaitlis:skaitlis. Piemēram, ja intervāls ir 1, skaitlis ir 100 un stop ir 1000, Partition atgriež " 100: 100".
Ja kāda no daļām ir Null, Partition atgriež Null.
Vaicājumu piemēri
| Izteiksme | Rezultāti |
|---|---|
| SELECT Partition(vienībascena,40,240,20) KĀ CenaDiapazons, skaits(produkts_pārdošana.vienības_cena) AS Skaits FROM productSales GROUP BY Partition(vienībascena,40,240,20); | Izveido diapazonu kopu lauka "vienībascena" vērtībām no "start"(40) līdz "stop"(240) ar vienādu "intervāla"(20) lielumu, un aprēķina "vienībascena" skaitu attiecīgajos diapazonos. Parāda diapazonus kolonnā PriceRange un count kolonnā Count. |
VBA piemērs
Šajā piemērā pieņemts, ka jums ir tabula Pasūtījumi, kurā ir lauks Freight. Tiek izveidota atlases procedūra, kas saskaita pasūtījumus, kuriem ietilpst transporta izmaksas katrā no vairākiem diapazoniem. Vispirms šo diapazonu noteikšanai izmanto funkciju Partition , bet pēc tam SQL Count funkcija saskaita pasūtījumu skaitu katrā diapazonā. Šajā piemērā funkcijas Partition argumenti ir sākums = 0, stop = 500, intervāls = 50. Tādējādi pirmais diapazons būtu 0:49 un tā tālāk līdz 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);