Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Delph_nov11.doc
Скачиваний:
9
Добавлен:
01.04.2025
Размер:
2.45 Mб
Скачать

Совокупные характеристики

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

Агрегатные или статистические функции:

  • Функция Count (<поле>) – количество записей в таблице, удовлетворяющих заданным условиям. Например, оператор Select count(tn) from osndanподсчитает полное количество записей в таблице osndan. А оператор Select count(tn) from osndan where sex=’ж’ –подсчитает количество женщин в таблице osndan.

  • Функции min(<поле>), max(<поле>), avg(<поле>), sum(<поле>) возвращают соответственно минимальное, максимальное, среднее и суммарное значения указанного поля. Например, оператор

Select min(datar),max(datar),avg(datar) from osndanвернет минимальную, максимальную и среднюю дату рождения из таблицы osndan, а оператор

Select sum(syma) from oplподсчитает общую сумму уплаченных за обучение денег.

При использовании суммарных характеристик надо учитывать, что в списке возвращаемых значений после ключевого слова SELECT могут фигурировать или поля (в том числе вычисляемые), или совокупные характеристики, но не могут фигурировать и те и другие (без указания на группирование данных). Поэтому нельзя, например, записать оператор

SELECT data_opl, sum(syma) from opl

Смешение в одном операторе полей и совокупных характеристик возможно, если использовать группировку записей, задаваемую ключевыми словами GROUP BY. После этих ключевых слов перечисляются все поля, входящие в список SELECT. В этом случае смысл совокупных характеристик изменяется: они проводят вычисления не по всем записям таблицы, а по тем, которые соответствуют одинаковым значениям указанных полей. Например, оператор

SELECT data_opl, sum(syma) from opl group by data_opl

Вернет общую сумму денег, уплаченную слушателями по всем дням, встречающимся в таблице opl. То есть, если таблица opl будет состоять из записей, представленных в таблице слева, то полученный запрос будет иметь вид, представлен в нижеследующей таблице справа.

Kod_opl

tn

Data_opl

syma

2

3

15.01.2004

100

3

4

15.01.2004

200

4

5

16.01.2004

150

5

3

17.01.2004

100

6

4

17.01.2004

200

7

2

17.01.2004

150

Data_opl

syma

15.01.2004

300

16.01.2004

150

17.01.2004

450