Главная » Программирование » Основы SQL Оператор Select. Функции COUNT, MAX, MIN, AVG

Основы SQL Оператор Select. Функции COUNT, MAX, MIN, AVG

20 мая 2012 - Рубрики Программирование

2885 просмотров

В сайдбар справа добавлена кнопка Google+. Если вам поможет данный материал, прошу вас нажмите на кнопку - порекомендуйте сайт в Google.

Здравствуй, уважаемый читатель!

Пришло время рассказать об агрегатных функциях языка SQL. До текущего момента мы рассматривали оператор SELECT для выборки данных, фильтрации с помощью условия WHERE, сортировки  с помощью ORDER BY. Теперь мы, прибегнув к специальным функциям, можем вычислить определенные значения: количество строк (COUNT), количество не пустых значений (COUNT), сумму значений (SUM), минимальное (MIN) и максимальное значение (MAX)поля, среднее значение по столбцу (AVG) и т.п. Вообще агрегатных функций не так уж и много, на офф сайте T-SQL их представлено всего 12.

Синтаксис:

select <агрегатная функция>
from <имя таблицы>

Например, посчитаем количество сотрудников, минимальный, максимальный, средний и суммарный возраст сотрудников.

select count(*) as [количество сотрудников],
min(age) as [минимальный возраст],
max(age) as [максимальный возраст],
avg(age) as [средний возраст],
sum(age) as [суммарный возраст сотрудников]
from employees

Обращаю ваше внимание, что если вам нужно посчитать количество строк, то используется count(*). Если же нужно посчитать количество элементов в столбце, то нужно использовать count(<название поля> ). Другими словами count(*) и, например, count(age) для одной и той же  таблицы employees может вернуть разные данные. Связанно это с тем, что в count(age) не учитываются NULL значения, то есть значение данного поля не заполнено для сотрудника.

Прошу не путать NULL с числом 0 или с пустой строкой — NULL самостоятельный тип данных, означающий «неопределенное значение». О работе с NULL значениями мы поговорим в одной из следующих статей.

[end_file]

Возможно вам также будут интересны статьи :

 

Предыдущие материалы из данной категории:

Комментариев: 0 , , , , , , , ,

Понравилась статья? Поделитесь ссылкой




Оставьте комментарий:




:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

Я человек, а не бот.