Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Суммирование данных

Статистические вычисления для отдельных значений

     Все пять статистических функций могут быть использованы двумя способами: 
     •     для вычисления во всех строках при указании аргумента ALL или без указания какоголибо аргумента (так как ALL является аргументом по умолчанию);
     •     для указания отдельных значений при помощи аргумента DISTINCT.

ALL по умолчанию

Аргумент ALL не обязательно указывать, так как он является аргументом по умолчанию. Если не указан аргумент DISTINCT, то подразумевается аргумент
ALL.

Не в Access

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

       В следующем примере используется функция AVG () для возвращения средней цены продуктов, предлагаемых определенным поставщиком. Это такой же оператор SELECT, как и предыдущий, но с использованием ключевого слова DISTINCT — при вычислении среднего значения учитываются только определенные цены.

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend id = 'LLOl1; 



avg_price 4.2400

      В этом примере вследствие использования ключевого слова DISTINCT значение avg_price получается более высоким, так как в таблице есть несколько предметов с одинаково низкой ценой. Не учитывая их, мы получаем более высокую среднюю стоимость.

Внимание

Ключевое слово DISTINCT МОЖНО использовать с функцией COUNT () только в том случае, если указано имя столбца. Его нельзя использовать с функцией COUNT(*)-. Аналогично, DISTINCT нужно использовать с именем столбца, но не с выражением.Не в Access

Использование ключевого слова DISTINCT С функциями MIN() и МАХ()

Несмотря на то что ключевое слово DISTINCT технически можно использовать с функциями MIN() и МАХ (), реальной необходимости в этом нет. Минимальные и максимальные значения в столбце будут теми же, независимо от того, указаны определенные значения или нет.

Предикаты

Помимо ключевых слов DISTINCT и ALL, некоторые СУБД поддерживают предикаты, такие как ТОР и ТОР PERCENT, позволяющие выполнять действия над подмножествами результатов запроса. Обратитесь к документации вашей СУБД, чтобы точно узнать, какие предикаты вы можете использовать.