Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Создайте запрос SELECT DISTINCT с использованием панели SQL Pane




  1. Скройте панель диаграмм Diagram Pane и отобразите панель SQL Pane .
  2. Замените имеющийся оператор SELECT на следующий:
3. SELECT DISTINCT PlantTypes.PlantType4. FROM Oils INNER JOIN5.    PlantTypes ON Oils.PlantTypeID = PlantTypes.PlantTypeID        


увеличить изображение

  1. Нажмите кнопку Run (Выполнить) , чтобы повторно исполнить запрос. Конструктор запросов Query Designer отобразит отличающиеся значения PlantType, имеющиеся в таблице Oils.


увеличить изображение



Оператор GROUP BY

Ключевое слово DISTINCT инструктирует SQL Server возвращать только уникальные строки, в то время как фраза GROUP BY инструктирует SQL Server объединять строки с одинаковыми значениями в столбце или в столбцах, заданных во фразе, в одну строку.

Внимание! Каждая строка, включенная во фразу GROUP BY, должна быть включена в выход запроса.

Фраза GROUP BY чаще всего используется совместно с функцией агрегирования. Функция агрегирования выполняет вычисления над множеством значений и возвращает в результате единственное значение. Наиболее распространенными функциями агрегирования, используемой с GROUP BY, являются: функция MIN, которая возвращает наименьшее значение во множестве, функция MAX, которая возвращает наибольшее значение во множестве, и функция COUNT, возвращающая количество значений во множестве.

Использование ключевого слова GROUP BY

Фраза GROUP BY может быть задана с использованием любой из панелей конструктора запросов, но лучше всего это делать с помощью панели сетки Grid Pane и панели SQL Pane.

Создайте запрос GROUP BY с использованием панели сетки Grid Pane

  1. Скройте панель SQL Pane и отобразите панель сетки Grid Pane.


увеличить изображение

  1. Добавьте в запрос столбец OilName.


увеличить изображение

  1. Нажмите кнопку Group By (Сгруппировать) в панели инструментов конструктора запросов. Конструктор запросов Query Designer добавит столбец Group By в сетку и установит оба значения равными Group By.


увеличить изображение

  1. Измените значение ячейки Group By для строки OilName на Count.


увеличить изображение

  1. Нажмите кнопку Run (Выполнить) , чтобы повторно исполнить запрос. Конструктор запросов Query Designer отобразит количество элементов OilName для каждого типа PlantType.


увеличить изображение






Создайте запрос GROUP BY с использованием панели SQL Pane

  1. Скройте панель сетки Grid Pane и отобразите панель SQL Pane.


увеличить изображение

  1. Замените имеющийся оператор SELECT следующим:
3. SELECT PlantParts.PlantPart, Count(Oils.OilName) AS NumberOfOils4. FROM Oils INNER JOIN5.    PlantParts ON Oils.PlantPartID = PlantParts.PlantPartID6. GROUP BY PlantParts.PlantPart         


увеличить изображение

  1. Нажмите кнопку Run (Выполнить) , чтобы повторно исполнить запрос. Конструктор запросов Query Designer отобразит количество элементов OilName для каждого типа PlantPart.


увеличить изображение




Использование фразы HAVING

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

Синтаксис фразы HAVING идентичен синтаксису фразы WHERE, за исключением того, что фраза HAVING может включать одну из функций агрегирования, включенных в список столбцов фразы SELECT. Заметим, однако, что вы должны повторять функцию агрегирования. Например, фраза HAVING, используемая в следующем операторе, является корректной:

SELECT PlantParts.PlantPart, Count(Oils.OilName) as NumberOfOilsFROM Oils INNER JOIN PlantParts ON Oils.PlantPartID = PlantParts.PlantPartIDGROUP BY PlantParts.PlantPartHAVING Count(Oils.OilName) > 3   

Однако вы не можете использовать псевдоним для функции Count в фразе HAVING. Следовательно, приведенная ниже фраза HAVING не будет правильной:










Последнее изменение этой страницы: 2018-04-11; просмотров: 211.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...