Цель работы: Научиться находить сумму полей, максимальное, минимальное, среднее значения полей, подсчитывать количество записей.
Ключевые слова: функции COUNT, SUM, MAX, MIN, AVG.
Теоретический материал:
Агрегированные функции используются подобно именам полей в предложении SELECT запроса, но с учетом того, что они берут имена полей в качестве аргумента. С SUM и AVG используются только числовые поля, а с COUNT, MAX, MIN могут использоваться числовые или символьные поля.
Функция COUNT производит подсчет количества строк или не-NULL значений полей, которые выбрал запрос.
Пример 1. Подсчитать количество записей в таблице DANNIE.
SELECT COUNT(*) FROM DANNIE
В результате выполнения этого запроса появится столбец с заголовком COUNT(*), поэтому можно использовать оператор переименования.
Пример 2. Подсчитать количество записей в таблице DANNIE и назвать поле КОЛИЧЕСТВО.
SELECT COUNT(*) AS КОЛИЧЕСТВО FROM DANNIE
Функция SUM рассчитывает арифметическую сумму всех выбранных значений данного поля.
Пример 3. Вывести сумму оценок студентов сгруппированных по номеру группы.
SELECT KOD_GRUPPY, SUM(OCENKA) FROM DANNIE, USPEV GROUP BY KOD_GRUPPY
ФункцияAVG – производит усреднение всех выбранных значений данного поля.
Пример 4. Вывести среднее значения оценок.
SELECT AVG(OCENKA) FROM USPEV
ФункцияMAX – находит и возвращает наибольшее из всех выбранных значений данного поля.
Пример 5. Вывести максимальную оценку.
SELECT MAX(OCENKA) FROM USPEV
ФункцияMIN – находит и возвращает наименьшее из всех выбранных значений данного поля.
Пример 6. Вывести минимальную оценку студентов.
SELECT MIN(OCENKA) FROM USPEV
Ключевое словоGROUP BY – указывает условие группировки строк.
Пример 7. Вывести среднее оценок, максимальную оценку, минимальную оценку студентов сгруппированных по номеру группы, с указанием имени у каждого столбца.
SELECT KOD_STUDENT, AVG(OCENKA) AS СРЕДНЯЯ, MAX(OCENKA) AS МАКСИМАЛЬНАЯ, MIN (OCENKA) AS МИНИМАЛЬНАЯ FROM USPEV GROUP BY KOD_STUDENT
Пример 8. Вывести коды и численность групп, в которых более 2 человек.
SELECT KOD_GRUPPY, COUNT(*) FROM DANNIE GROUP BY KOD_GRUPPY HAVING COUNT(*)>2
Задания:
Внимание: необходимо переименовать каждое вычисляемое поле.
1. Найти среднее значение оценок по каждому студенту.
2. Найти максимальную оценку по каждой дисциплине.
3. Найти среднюю оценку, выставленную каждым преподавателем.