Atgriež Variant (String), kas norāda, kur skaitlis atrodas aprēķinātā diapazonu sērijā.
Sintakse
Partition( skaitlis, sākums, apturēšana, intervāls)
Funkcijas Partition sintaksē ir šādi argumenti:
Arguments |
Apraksts |
skaitlis |
Obligāts arguments. Vesels skaitlis, kuru vēlaties novērtēt attiecībā pret diapazoniem. |
sākums |
Obligāts arguments. Vesels skaitlis, kas ir kopējā skaitļu diapazona sākums. Skaitlis nedrīkst būt mazāks par 0. |
pārtraukt |
Obligāts arguments. Vesels skaitlis, kas ir vispārējā skaitļu diapazona beigas. Skaitlis nevar būt vienāds ar vai mazāks par sākuma. |
intervāls |
Obligāts arguments. Vesels skaitlis, kas norāda nodalījumu lielumu kopējā skaitļu diapazonā (no sākuma līdz saugšējai). |
Piezīmes
Funkcija Partition identificē konkrēto diapazonu, kurā atrodas skaitlis , un atgriež Variant (String), kas apraksta šo diapazonu. Funkcija Partition ir visnoderīgākā vaicājumos. Varat izveidot atlases vaicājumu, kas parā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ā diapazoni tiek noteikti, izmantojot trīs sākuma,apturēšanas un intervāla argumentu kopas . Kolonnā Pirmais diapazons un Pēdējais diapazons tiek rādīts , kādu vērtību nodalījums atgriež. Diapazonus attēlo zemākā vērtība:augšējāvērtība, kur diapazona zemākā vērtība (zemākāvērtība) tiek atdalīta no diapazona augstākās vērtības (augšējās vērtības) ar kolu (:).
sākums |
pārtraukt |
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ā rindā tiek parādīts rezultāts, ja sākuma un pārtraukšanas pietura definē skaitļu kopu, ko nevar vienmērīgi dalīt ar intervālu. Pēdējais diapazons tiek paplašināts, lai pārtrauktu (11 skaitļi), lai gan intervāls ir 20.
Ja nepieciešams, nodalījums atgriež diapazonu ar pietiekami daudz sākuma atstarpēm, lai kola kreisajā un labajā pusē būtu tāds pats rakstzīmju skaits kā hronometrā , plus viena rakstzīme. Tas nodrošina, ka, izmantojot Partition ar citiem skaitļiem, iegūtais teksts tiek pareizi apstrādāts turpmākajās kārtošanas darbībās.
Ja intervāls ir 1, diapazons ir skaitlis:skaitlis, neatkarīgi no sākuma unapturēšanas argumentiem . Piemēram, ja intervāls ir 1, skaitlis ir 100 un pietura ir 1000, nodalījums atgriež "100: 100".
Ja kāda no daļām ir Null, nodalījums atgriež Vērtību Null.
Vaicājumu piemēri
Izteiksme |
Rezultāti |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Izveido diapazonu kopu vērtībām laukā "vienības_cena" no "sākums"(40) līdz "stop"(240) ar vienādu intervāla "(20) lielumu un aprēķina "vienības_cena" skaitu attiecīgajos diapazonos. Parāda diapazonus kolonnā PriceRange un count kolonnā 'Count'. |
VBA piemērs
Šajā piemērā tiek pieņemts, ka jums ir tabula Pasūtījumi, kurā ir lauks Transports. Tiek izveidota atlases procedūra, kurā tiek skaitīts pasūtījumu skaits, kuru transporta izmaksas ietilpst katrā no vairākiem diapazoniem. Funkcija Partition tiek izmantota vispirms, lai noteiktu šos diapazonus, pēc tam funkcija SQL Count skaita pasūtījumu skaitu katrā diapazonā. Šajā piemērā funkcijas Partition argumenti sākas = 0 , pārtrauciet = 500, intervāls = 50. Tādējādi pirmais diapazons būtu 0:49 utt. Līdz ar to tas ir 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);