Рассмотрим более подробно функцию КОЛИЧЕСТВО / COUNT. Эта функция подсчитывает количество значений параметра, попавших в выборку.
В отличие от других агрегатных функций она допускает три варианта использования:
·
Позволяет узнать количество строк в результате запроса. Для этого в качестве параметра функции надо указать звездочку («*»). Это наиболее часто встречающийся вариант использования функции КОЛИЧЕСТВО. Даже если в строке все поля содержат NULL, то такая строка тоже будет посчитана.
·
Позволяет подсчитать количество значений указанного поля, не являющихся NULL-значениями. В качестве параметра функции можно указывать ссылки на поля, содержащие значения любого типа, при этом NULL-значения игнорируются.
·
Позволяет узнать количество различных значений указанного поля. Для этого перед спецификацией поля надо указать ключевое слово РАЗЛИЧНЫЕ / DISTINCT, при этом NULL-значения игнорируются.
Например, с помощью функции КОЛИЧЕСТВО можно ответить на следующие вопросы:
·
Сколько сотрудников, у которых оклад больше заданной величины?
ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Количество
ИЗ Справочник.Сотрудники
ГДЕ Оклад > &ВыбОклад
·
Сколько различных клиентов купили хоть что-нибудь за заданный период?
ВЫБРАТЬ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагент) КАК Количество
ИЗ Документ.РасходнаяНакладная
ГДЕ Дата МЕЖДУ &НачДата И &КонДата
1
Смеситель
Маг. «Гигант»
14
2
Смеситель
Маг. «Хозяйка»
1
3
Смеситель
Мосгорторг
5
4
Кран
Маг. «Гигант»
44
5
Кран
Маг. «Хозяйка»
8
6
Кран
Мосгорторг
10
7
Кран
Мосгорторг
22
8
Стол
Маг. «Гигант»
10
9
Стол
Маг. «Мебель»
15
10
Стол
Мосгорторг
1
11
Стул
Маг. «Гигант»
32
12
Стул
Маг. «Мебель»
55
13
Стул
Маг. «Хозяйка»
5
14
Стул
Мосгорторг
16
Организуем линейную выборку из результата запроса и обойдем ее при помощи метода СледующийПоЗначениюПоля: