Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

Агрегатные функции

Функция

Что возвращает

AVG(Select_Item)

Среднее значение в столбце Select_Item группы результата запроса (для числовых полей)

COUNT(Select_Item) | CNT(Select_Item)

Число выбранных элементов в столбце Select_Item (число строк в группе результате запроса)

MIN(Select_Item)

Наименьшее значение в столбце Select_Item в группе результата запроса

MAX(Select_Item)

Наибольшее значение в столбце Select_Item в группе результата запроса

SUM(Select_Item)

Сумма значений в столбце Select_Item группы результата запроса (для числовых полей)

Нельзя использовать вложенные вызовы агрегатных функций.

Каждый элемент Select_List_Item дает один столбец в результате.

После каждого элемента Select_List_Item можно указать опцию [AS] Column_Name, в которой Column_Name – это имя заголовка столбца в результате запроса. Column_Name может быть символьным выражением, но не может содержать запрещенные символы, например пробелы.

Пример. Выражение в тексте запроса, использующее пользовательскую функцию.

close databases

open database 'd:\HomeLibrary\HomeLibrary'

&&

&& Выполняем запрос. Результат запроса см. на рис. 15.21

select top 50 percent AuAndInDate( ) as AuDate from Authors order by Author

function AuAndInDate( )

return Dtoc(InputDate) + " " + Author

endFunc

Рис. 15.21. Результат запроса примера

FROM – задает таблицы, из которых извлекаются данные, условия объединения и фильтрации данных. Число объединяемых таблиц произвольно.

FORCE – указывает, что таблицы соединяются в порядке их появления в списке. Если опция опущена, то VFP пытается оптимизировать запрос. Однако запрос может быть выполнен быстрее, если опция FORCE имеется, поскольку не будет затрат времени на его оптимизацию.

Table_List_Item [, ...] – список таблиц-источников данных; может быть задан с использованием следующего синтаксиса:

  • [DatabaseName!]Table [[AS] Local_Alias], где:

DatabaseName – имя открытой базы данных. Имя должно быть включено, если таблица Table входит в нетекущую базу данных. Между именем базы данных и таблицей проставляется восклицательный знак.

Table – имя таблицы-источника данных. Если при вызове SELECT – SQL таблиц закрыта, то откроется диалог Open, в котором следует указать таблицу. Таблица, открытая для выполнения запроса, остается открытой и после получения результата.

Local_Alias – локальный, используемый в запросе псевдоним таблицы Table. Если локальный псевдоним Local_Alias задан, то он должен быть использован вместо имени таблицы во всем тексте запроса. Также может быть задана опция JOIN, позволяющая задать несколько таблиц.

(Subquery) AS Subquery_Alias – задает подзапрос. В опции FROM каждый подзапрос должен иметь псевдоним. В этой опции подзапросы не имеют ограничений, которые накладываются на подзапросы в условиях отбора данных. Все подзапросы опции FROM выполняются до оценки основного оператора SELECT.

JoinType – вид объединения таблиц-источников-данных; принимает приведенные в табл. 15.17 значения.

Таблица 15.17

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]