Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Возвращает значение типа 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: "

В третьей строке таблицы диапазон чисел, определенный аргументами начало и конец, не делится без остатка на значение аргумента интервал. Последний интервал ограничен значением аргумента конец (11 чисел), хотя значение аргумента интервал составляет 20.

При необходимости функция Partition возвращает строку диапазона с начальными или конечными пробелами, чтобы количество знаков слева и справа от двоеточия равнялось количеству знаков в числе, превышающем значение аргумента конец на единицу. Это нужно для правильной сортировки данных, полученных при использовании функции Partition, вместе с другими числами.

Если значение аргумента интервал равно 1, то независимо от значений аргументов начало и конец возвращается диапазон число:число. Например, если значение аргумента интервал равно 1, аргумента число — 100, а аргумента конец — 1000, функция Partition возвратит строку " 100: 100".

Если любая из частей равна NULL, функция Partition возвращает NULL.

Примеры запросов

Expression

Результаты

SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20);

Создает набор диапазонов для значений в поле "unitprice" от "start"(40) до "stop"(240) с равным размером interval(20) и вычисляет количество "unitprice" в соответствующих диапазонах. Отображает диапазоны в столбце PriceRange и count в столбце Count.

Пример VBA

В этом примере предполагается, что у вас есть таблица Orders (Заказы), содержащая поле Freight (СтоимостьДоставки). Создается запрос на выборку, где рассчитывается количество заказов в нескольких диапазонах стоимости доставки. Эти диапазоны задаются с помощью функции 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);

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×