C0UNT(*)
C0UNT([DISTINCT | ALL] выражение)
Чтобы подсчитать общее число строк в таблице, используйте функцию COUNT со звездочкой вместо имени поля COUNT (*). COUNT со звездочкой включает и NULL и дубликаты, по этой причине DISTINCT не может быть использован.
Вы можете также использовать агрегатные функции с аргументами которые состоят из скалярных выражений включающих одно или более полей.
SELECT MAX ( атр1 + атр2 )
FROM имя_таблицы;
Предложение GROUP BY позволяет вам определять подмножество значений в особом поле в терминах другого поля, и применять функцию агрегата к подмножеству. Это дает вам возможность объединять поля и агрегатные функции в едином предложении SELECT.
Теперь вы используете запросы несколько по-другому. Способность получать, а не просто размещать значения, очень мощна. Это означает что вы не обязательно должны следить за определенной информацией если вы можете сформулировать запрос так чтобы ее получить. Запрос будет давать вам поминутные результаты, в то время как таблица общего или среднего значений будет хороша только некоторое время после ее модификации. Это не должно наводить на мысль, что агрегатные функции могут полностью вытеснить потребность в отслеживании информации.
Вы можете применять эти агрегаты для групп значений определенных предложением GROUP BY. Эти группы имеют значение поля в целом, и могут постоянно находиться внутри других групп которые имеют значение поля в целом. В то же время, предикаты еще используются чтобы определять какие строки агрегатной функции применяются.
Объединенные вместе, эти особенности делают возможным, производить агрегаты основанные на сильно определенных подмножествах значений в поле. Затем вы можете определять другое условие для исключения определенных результатов групп с предложением HAVING.
Пример 1. Информация о скольких преподавателях имеется в базе данных?
SELECT COUNT(*) AS "К-во преподавателей"
FROM TEACHER;
Пример 2. Вывести процентное соотношение суммарной ставки к суммарной зарплате и наоборот.
SELECT SUM(Salary)*100/SUM(Rise) AS "Процент зарплаты к зарплате",
SUM(Rise)*100/SUM(Salary) AS "Процент зарплаты к ставке"
FROM TEACHER;
Do'stlaringiz bilan baham: |