SELECT DISTINCT ФИО, Группа FROM R2; SELECT Группа FROM R2; SELECT DISTINCT Группа FROM R2; SELECT max(Поле1), Поле2 FROM R2 Group by Поле2; SELECT Поле2 FROM R2 Group by Поле2; В разделе HAVING задаются предикаты-условия, накладываемые на
каждую группу. HAVING используется для фильтрации записей,
полученных в результате группировки. WHERE определяет, какие записи
должны участвовать в группировании, т.е. фильтрует до группирования.
HAVING определяет, какие из получившихся в результате группировки
записей будут включены в результирующую выборку, т.е. фильтрует записи
после группирования.
Пример 2.4: Для того чтобы наложить фильтр на поле в запрос, данные в котором
уже были сгруппированы, необходимо использовать HAVING:
SELECT R2. Группа FROM R2 GROUP BY R2. Группа HAVING R2. Группа =’АИ21’; В части ORDER BY задается список полей упорядочения результата, то
есть список полей, который определяет порядок сортировки в
результирующем отношении. Например, если первым полем списка будет
указан Шифр группы, а вторым Фамилия, то в результирующем отношении
записи сначала будут расположены в порядке возрастания шифра группы, а
затем в рамках одной группы записи будут отсортированы по фамилии в
алфавитном порядке.
Применение агрегатных функций В SQL добавлены дополнительные функции, которые позволяют
вычислять обобщенные групповые значения. Для применения агрегатных
функций предполагается предварительная операция группировки. При
группировке все множество кортежей отношения разбивается на группы, в
которых объединяются кортежи, имеющие одинаковые значения атрибутов,
которые заданы в списке группировки.
Пример 2.5: Для того, чтобы посчитать, сколько студентов обучается в группе АИ22
необходимо выполнить запрос: