Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция htAverageOfKeyValues

htAverageOfKeyValues - Получить среднее значение элемента для подмножества записей

Назначение:

Функция позволяет вычислить среднее значение элемента на множестве записей. Функция может быть выполнена лишь для цифровых элементов (полей, групп или подстрок).

Прототип:

 int HTAPI htAverageOfKeyValues(
	LPSAB    	fpSrc,     	/* Адрес БДС, содержащего список записей */
	int      	nElemNo,   	/* Номер элемента записи */
	void far 	*fpAverage 	/* Сюда поместят среднее значение ключа */
 );

Параметры

fpSrc
содержит адрес БДС, задающий просматриваемое подмножество записей
nElemNo
задает номер элемента записи, значения которого будут просчитаны. Нумерация элементов в записи начинается с единицы
fpAverage
задает адрес области памяти для приема среднего. Результат вычисления (среднее значение) заносится в указанную область памяти

Тип результата определяется исходя из типа обсчитываемого элемента, следующим образом:

ET_BYTE
Результат будет типа long
ET_DATE
ET_INTR
ET_LONG
ET_NMBR
ET_WORD
ET_DWRD
Результат будет типа unsigned long
ET_CURR
Результат будет типа double
ET_DFLT
ET_FLOA

Результат:

0 при успешном завершении
отрицательное число код ошибки

Пример.

Получить величину средней заработной платы в отделе 10.

typedef struct tagREC { /* Структура записи таблицы */
	char name[10];
	char sex;
	int depart;
	unsigned fee;
} REC;
int rc;
long gFee;
SAB sAll10;
THANDLE hTable;
 . . .
/* Список людей из 10 отдела */
rc = 10;
if( !htSearch( NULL, &sAll10, hTable, 3, EQUAL, &rc, NULL ) )
	/* Обработка ошибок */
 . . .
/* Вычисление среднего на подмножестве записей */
if( (rc = htAverageOfKeyValues( &sAll, 4, &gFee )) < 0 )
	/* Обработка ошибок */
else
	/* Средняя зарплата = gFee */