Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




ИСПОЛЬЗОВАНИЕ АГРЕГИРОВАННЫХ ФУНКЦИЙ

Читайте также:
  1. Аналитичность голоморфных функций
  2. Биомасса Мирового океана и ее использование
  3. В общем случае необходимо организовывать последовательность расчётов при возрастающем количестве координатных функций.
  4. Ввод данных с использованием клавиатуры
  5. Взаимосвязь общих функций управления.
  6. ВЗГЛЯДЫ КОМАНДОВАНИЯ АРМИЙ ИНОСТРАННЫХ ГОСУДАРСТВ НА ИСПОЛЬЗОВАНИЕ МОТОПЕХОТНОЙ РОТЫ В НАСТУПЛЕНИИ.
  7. Возрастные особенности физиологических функций и нейрогуморальной регуляции
  8. Возрастные особенности функций внешнего дыхания
  9. Выставки и их использование в рекламных целях
  10. ВЫЯВЛЕНИЕ ЛАДОВЫХ ФУНКЦИЙ МАЖОРО-МИНОРНОЙ СИСТЕМЫ ОТДЕЛЬНЫМИ АККОРДАМИ. ФУНКЦИОНАЛЬНАЯ РОЛЬ ТОНА

COUNT – количество картежей

SUM

AVG – среднее значение атрибута

MIN

MAX

Стандартом наложен запрет вычисления функций от функций.

 

SELECT <имя атрибутов>, <имя функций> (<имя атрибутов>)

FROM <имя таблицы>

 

Пример:

Надо вычислить среднюю категорию поставщика.

SELECT AVG (катег.)

FROM S

Количество категорий поставщиков.

SELECT COUNT (катег.)

FROM S

____________________________

SEKECT COUNT (DISTINCT катег.)

FROM S

____________________________

 

SELECT COUNT (*) все картежи, включая NULL, значения повторяющиеся

FROM S

 

ALL

SELECT COUNT (ALL катег.)

FROM S

Будут подсчитаны все повторяющие значения, значения NULL подсчитываться не будут.

 

ИСПОЛЬЗОВАНИЕ ПАРАМЕТРА GROUP BY

Позволяет вычислить агрегированную функцию для каждой из группировок картежей, при этом картежи группируются по некоторому атрибуту, указанному в строке SELECT

Пример:

Пусть требуется для каждого кода деталей вычислить MAX объем поставки.

SELECT код дет., МАХ (кол)

FROM SP

GROUP BY код дет.

____________________________

 

P1 200

P3 200

P6 300

P2 300

P5 200

P4 300

 

Пример:

Пусть требуется вычислить минимальный вес для каждой из группы деталей, совпадающей наименованием и цветом.

SELECT Наим., цвет, MIN (вес)

FROM P

GROUP BY Наим., цвет

_________________

Гайка красный 10

Винт зеленый 12

Кольцо синий 24

Винт красный 10

Шайба желтый 25

Параметр НАVING , который позволяет наложить ограничение на целую группу и, таким образом, исключить из рассмотрения некоторые группировки.

 

Пример:

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

SELECT код дет., АVG (Кол.)

FROM SP

GROUP BY код дет.

НАVING COUNT (Код пост.) > 1

_____________________

 

 

Р1 150

Р6 500/3

Р2 300

Р5 200

Р4 200

Очень часто требуется построить запрос, где требуется много таблиц.

Join – присоединение таблиц

Join S. Город Р. Город

<имя табл.> <имя атр.>

 

Пример:

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

SELECT S.имя, Р.наим., S.Город

FROM SP

WHERE S.Город = P.Город

______________________________

Иванов Гайка Москва

Иванов Кольцо Москва

Иванов Винт Москва

 

Петров Винт Тула

Петров Шайба Тула

Сидоров Винт Тула

Сидоров Шайба Тула

 

Круглов Гайка Москва

Круглов Кольцо Москва

Круглов Винт Москва

 

Можно строить следующие сложные запросы с использованием более сложных предикатов.

 

Пример:

Требуется вывести информацию о поставщиках и городах, в которых они проживают для тех поставщиков, для которых объем поставки больше 200.

SELECT S. имя, S. город

FROM S, SP

WHERE S. код пост. = SP. код пост.

AND SP. Кол. > 200

________________

Петров Тула

Сидоров Тула

Сидоров Тула

Смирнов Орел

 

Если хотим устранить дублирование картежей, то надо добавить DISTINCT.

 

Пример:

Надо вывести поставки поставщиков, которые проживают не в том городе, где делаются детали.

SELECT S. имя, P. наим., SP. количество

FROM S, P, SP

WHERE SP. Код пост. = S. Код пост.

AND SP. Код дет. = P. Код дет.

AND S. город < > P. город

_____________________

Иванов винт 100

Петров гайка 200

Петров винт 100

Сидоров винт 300

Смирнов винт 100

Смирнов шайба 200

МИРНОВ ВИНТ 300

 


<== предыдущая страница | следующая страница ==>
ВЫБОРКА С ОГРАНИЧЕНИЕМ | ВЛОЖЕННЫЕ ЗАПРОСЫ

Дата добавления: 2014-08-04; просмотров: 330; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.