Команда COUNT

Считает записи таблицы.

Синтаксис:

COUNT
	[Scope] [FOR lExpression1] [WHILE lExpression2]
	[TO MemVarName]
	[NOOPTIMIZE]

Параметры:
Scope
Задает диапазон записей, учитываемых при подсчете. Диапазон задается следующими предложениями: ALL, NEXT nRecords, RECORD nRecordNumber и REST. Подробнее о предложениях диапазона см. тему Предложения диапазона или главу 2 "Обзор языка программирования" Руководства разработчика. Команды, использующие опцию Scope, воздействуют только на таблицу в активной рабочей области.
По умолчанию областью действия команды COUNT являются все записи (предложение ALL).
FOR lExpression1
Задает подсчет только записей, удовлетворяющих логическому условию lExpression1. Предложение FOR позволяет вести условный счет записей, отфильтровывая ненужные записи.
Технология Rushmore позволяет оптимизировать запрос COUNT FOR, если lExpression1 является оптимизируемым выражением. В целях получения наивысшей производительности рекомендуется использовать в предложении FOR оптимизируемое выражение. Подробнее см. темы SET OPTIMIZE и Основы технологии Rushmore и главу 17 "Оптимизация приложений" Руководства разработчика.
WHILE lExpression2
Задает условие, согласно которому записи подсчитываются до тех пор, пока логическое выражение lExpression2 остается истинным (.T.).
TO MemVarName
Задает переменную памяти или массив, в котором сохраняется счетчик записей. Если задана несуществующая переменная памяти, Visual FoxPro создает ее.
NOOPTIMIZE
Блокирует оптимизацию команды COUNT по технологии Rushmore. Подробнее см. темы SET OPTIMIZE и Основы технологии Rushmore или главу 17 "Оптимизация приложений" Руководства разработчика.

Комментарии:
Команда COUNT подсчитывает записи в диапазоне, для которого являются истинными условия FOR или WHILE. Если установка SET TALK имеет значение ON, отображается счетчик записей.

Записи, помеченные на удаление, включаются в счет, если действует установка SET DELETE OFF.

О том, как пустые значения отражаются на работе команды COUNT, см. главу 2 "Обзор языка программирования" Руководства разработчика.

Пример:

* В следующем примере подсчитывается и отображается количество
* клиентов в Париже.
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer	&& Opens Customer table

CLEAR
COUNT FOR UPPER(city) = 'PARIS'
DISPLAY FIELDS company, contact FOR UPPER(city) = 'PARIS'

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 04.12.2002