Агрегатные функции языка SQL.

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

SUM()– сумма в столбце.

SUM(DISTINCT <имя столбца>)– сумма неповторяющихся значений в столбце.

SELECT SUM(SUMD) FROM PERSON

AVG()– среднее значение в столбце.

AVG(DISTINCT <имя столбца>)– среднее значение для неповторяющихся значений в столбце.

MIN(), MAX() – минимум и максимум.

COUNT()– количество значений в столбце.

COUNT(DISTINCT <имя столбца>)– количество неповторяющихся значений в столбце.

COUNT(*)– количество строк в ТРЗ.

ПРИМЕРЫ:

1. SELECT ‘СРЕДНЕДУШИВОЙ ДОХОД =’, AVG (SUMD) FROM PERSON.

2. SELECT AVG(SUMD*0.13) FROM PERSON

3. SELECT SUM(SUMD) FROM PERSON

4. SELECT SUM(DISTINCT SUMD) FROM PERSON

5. SELECT ‘ПОЛУЧЕННО СТЕПЕНДИЙ НА СУММУ’, SUM(MONEYS) FROM HAVE_D, PROFIT WHERE PROFIT.ID = HAVE_D.ID AND SOURSE = ‘СТИПЕНДИЯ’

6. SELECT MIN(R_DATE), MAX (R_DATE) FROMPERSON

7. SELECT MIN(FIO), MAX (FIO) FROMPERSON

8. SELECT COUNT(ADR) FROM PERSON WHERE ADR = ’Зеленоград, 1__-%’

Правила:

1. Если какие-либо значения в столбце имеют значение NULL, то они исключаются из столбцов.

2. Если все значения в столбце имеют значение NULL, то все функции, кроме COUNT вернут NULL. COUNT вернет 0.

3. COUNT(*) подсчитывает количество строк в ТРЗ, и возвращаемое значение не зависит от наличия NULL. Если строк нет, то вернется 0.