Partition функциясы

Берілген санның есептелетін ауқымдар қатарының қай ауқымында орналасқанын көрсететін Variant (String) түріндегі мәнді қайтарады.

Синтаксис

Partition(сан, басы, соңы, аралық)

Partition функциясының синтаксисінде мынадай аргумент бар:

Дәлел

Сипаттама

сан

Міндетті дәлел. Ауқымдардың біріне қатысты болуы тиіс бүтін сан.

басы

Міндетті дәлел. Сандардың жиынтық ауқымының басы болатын бүтін сан. Сан 0 мәнінен кіші болмауы тиіс.

соңы

Міндетті дәлел. Сандардың жиынтық ауқымының соңы болатын бүтін сан. Сан басы дәлелінің мәнінен үлкен болуы тиіс.

аралық

Міндетті дәлел. Сандардың жиынтық ауқымындағы (басы және соңы арасында) жеке ауқымдардың өлшемін көрсететін бүтін сан.


Ескертпелер

Partition функциясы сан дәлелінің мәні орналасқан ауқымды анықтайды және осы ауқымды сипаттайтын Variant (String) түріндегі мәнді қайтарады. Көбінесе Partition функциясы сұрауларда пайдаланылады, мысалы, іріктеу сұрауында: тапсырыс өлшеміне байланысты ауқымдар бойынша тапсырыстардың таралуын анықтау қажет, мысалы, тапсырыс мөлшері 1-ден 1000-ға дейін, 1001-ден 2000-ға дейін және тағысын-тағылар.

Төмендегі кестеде басы, соңы және аралық дәлелдерінің жиынтықтарының үш нұсқасын пайдаланып ауқымдарды анықтау көрсетілген. "Бірінші ауқым" және "Соңғы ауқым" бағандарында Partition функциясы қайтаратын мәндер көрсетілген. Бұл ауқымдар төменгі мән:жоғарғы мән түрінде көрсетілген, мұнда ауқымның соңы (төменгі мән) оның басынан (жоғарғы мән) қос нүкте (:) арқылы бөлінген.

басы

соңы

аралық

Біріншісіне дейін

Бірінші аралық

Соңғы аралық

Соңғысынан кейін

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: "


Жоғарыда көрсетілген кестенің үшінші жолындағы басы және соңы дәлелдерімен анықталған сандар ауқымы аралық дәлелінің мәніне қалдықсыз бөлінбейді. Аралық дәлелінің мәні 20-ға тең болуына қарамастан, соңғы ауқым соңы дәлелінің мәнімен (11 сан) шектелген .

Қажет болғанда, Partition функциясы ауқым жолын бастапқы немесе соңғы бос орындармен қайтарады: себебі бөлгіш қос нүктенің сол және оң жағындағы таңбалар саны соңы дәлелінің мәнінен бір бірлікке артық сандағы таңбалар санына тең болуы керек. Бұл Partition функциясын басқа сандармен пайдаланғанда алынған деректерді дұрыс сұрыптау үшін қажет.

Егер аралық дәлелінің мәні 1 болса, басы және соңы дәлелдерінің мәндеріне қарамастан, сан:сан ауқымы қайтарылады. Мысалы, егер аралық дәлелінің мәні 1 болса, сан дәлелінің мәні 100 болса және соңы - 1000 болса, Partition функциясы " 100: 100" жолын қайтарады.

Егер дәлелдердің кемінде біреуінің мәні Бос болса, Partition функциясы Null мәнін қайтарады.

Мысал

Бұл мысалда жұмыс үшін "Жеткізу құны" деген өрісі бар "Тапсырыстар" кестесі пайдаланылады деп есептеледі. Іріктеу сұрауы жасалады, жеткізу құнының бірнеше ауқымдарындағы тапсырыс саны есептеледі. Бұл ауқымдар Partition функциясы арқылы беріледі, содан кейін SQL Count функциясы әр ауқымдағы тапсырыс санын есептейді. Бұл мысалда Partition функциясының дәлелдерінде мынадай мәндер болады: басы = 0, соңы = 500, аралық = 50. Бірінші ауқым 0:49 түрінде көрсетіледі және 500-ге дейін осылай жалғасады.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);
Дағдыларды жетілдіру
Оқыту курсымен танысыңыз
Жаңа мүмкіндіктерге бірінші болып қол жеткізу
Office Insider бағдарламасына қосылу

Осы ақпарат пайдалы болды ма?

Пікіріңіз үшін рақмет!

Пікіріңізге рақмет! Сізді Office қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×