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