Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htHistogramByCount - Получить гистограмму значений элемента с заданным числом повторов

Назначение:

Часто бывает полезно иметь не только список значений элемента записи, но и его гистограмму (список пар - значение:повторы).

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

Гистограммы значений не могут быть использованы в качестве операндов логических операций.

Прототип:

int HTAPI htHistogramByCount(
	LPSAB 	fpDst,   	/* Для приема результата */
	int   	nElemNo, 	/* Номер элемента записи */
	LPSAB 	fpSrc,   	/* Адрес БДС, содержащего список записей */
	long  	gMin,    	/* Минимальное число повторов (не менее 1) */
	long  	gMax     	/* Максимальное число повторов */
);

Параметры

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

Результат:

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

Пример.

Получить список фамилий с число повторов не более 2-х.

typedef struct tagREC { /* Структура записи таблицы */
	char name[10];
	char sex;
	int room;
} REC;
int rc;
SAB sAll;
SAB sHisto;
THANDLE hTable;
 . . .
/* Список всех людей */
if( !htSearch( NULL, &sAll, hTable, 0, GREAT, "\0\0\0", NULL ) )
	/* Обработка ошибок */
 . . .
/* Построение гистограммы фамилий на подмножестве */
if( (rc = htHistogramByCount( &sHisto, 1, &sAll, 1L, 2L )) < 0 )
	/* Обработка ошибок */