Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Предложение group BY



В инструкции SELECT задает столбцы, используемые для формирования групп из выбранных строк. Строки каждой группы содержат одно и то же значение заданного столбца (столбцов). В Microsoft Access предложение GROUP BY используется для создания итоговых запросов. Предложение GROUP BY необходимо также включать в перекрестный запрос (более подробно перекрест­ный запрос обсуждается в подразделе, описывающем инструкцию TRANS­FORM).

Синтаксис:

GROUP BY имя-столбца,...

Пояснения:

Имя столбца в предложении GROUP BY может быть именем произвольного столбца из любой таблицы, упомянутой в предложении FROM, — даже в том случае, когда этот столбец не содержится в списке выбора. Если предложение GROUP BY расположено после предложения WHERE, Access создает группы из строк, выбранных после применения WHERE. Когда вы включаете предло­жение GROUP BY в инструкцию SELECT, список выбора должен состоять из итоговых функций SQL (AVG, COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR, VARP) или из имен столбцов, указанных в предложении GROUP BY.

В итогах все детальные данные отчета сжимаются в одну обобщающую строку. Однако очень часто в отчетах требуется формировать и промежу­точные итоги. Для этой цели в операторе SELECT может указываться фраза GROUP BY. За­прос, в котором присутствует фраза GROUP BY, называется группирующим запросом, по­скольку в нем группируются данные, полученные в результате выполнения операции SELECT, после чего для каждой отдельной группы создается единственная суммарная стро­ка. Столбцы, перечисленные во фразе GROUP BY, называются группируемыми столбцами. Стандарт ISO требует, чтобы предложение SELECT и фраза GROUP BY были тесно связаны между собой. При использовании в операторе SELECT фразы GROUP BY каждый элемент спи­ска в предложении SELECT должен иметь единственное значение для всей группы. Более того, предложение SELECT может включать только следующие типы элементов:

• имена столбцов;

• обобщающие функции;

• константы;

• выражения, включающие комбинации перечисленных выше элементов.

Все имена столбцов, приведенные в списке предложения SELECT, должны присут­ствовать и во фразе GROUP BY — за исключением случаев, когда имя столбца исполь­зуется в обобщающей функции. Обратное правило не является справедливым — во фразе GROUP BY могут присутствовать имена столбцов, отсутствующие в списке пред­ложения SELECT. Если совместно с фразой GROUP BY используется предложение WHERE, то оно обрабатывается первым, а группированию подвергаются только те строки, ко­торые удовлетворяют условию поиска.

Стандартом ISO определено, что при проведении группирования все отсутствую­щие значения рассматриваются как равные. Если две строки таблицы в одном и том же группируемом столбце содержат значения NULL и идентичные значения во всех ос­тальных непустых группируемых столбцах, они помещаются в одну и ту же группу

ИТОГОВАЯ ФУНКЦИЯ: AVG

В логической таблице, определенной инструкцией SELECT или подчиненным запросом, она создает столбец, содержащий среднее арифметическое значений выражения или заданного столбца. Чтобы вычислить среднее значение для каждой группы строк, выбранных из базовых таблиц или запросов, используйте предложение GROUP BY.

Синтаксис: ^

AVG (выражение)

Пояснения:

Внутри выражения нельзя применять другие итоговые функции. Если в списке выбора инструкции SELECT вы используете итоговую функцию SQL, то список выбора должен содержать только итоговые функции или имена столбцов, указанных в предложении GROUP BY. Выражение должно содержать ссылку по крайней мере на один столбец, причем выражение или столбец должны иметь числовой тип данных.

Значения Null не участвуют в вычислении. Тип данных результата обычно совпадает с типом данных выражения или соответствующего столбца. Если выражение или столбец являются целым, то Access преобразует среднее значение в целое число, отбрасывая дробную часть. Например, если в выражении AVG(n) п является целым, а значения п в выбранных строках равны 0, 1 и 1, то результат будет равен 0.

Пример №14. В таблице Академическая справка подсчитайте средний балл по факультетам





Дата публикования: 2015-01-10; Прочитано: 402 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...