Студопедия

КАТЕГОРИИ:

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



SQL-функции

В SQL существует ряд специальных стандартных функций (SQL-функций). Кроме специального случая COUNT(*) каждая из этих функций оперирует совокупностью значений поля некоторой таблицы и создает единственное значение, определяемое так:

• COUNT – подсчет количества записей, содержащихся в заданном поле запроса

• SUM – вычисление суммы набора значений, содержащихся в заданном поле запроса

• AVG – вычисление арифметического среднего набора чисел, содержащихся в указанном поле запроса

• MAX – вычисление максимального значения из набора значений, содержащихся в указанном поле запроса

• MIN – вычисление минимального значения из набора значений, содержащихся в указанном поле запроса

Для функций SUM и AVG рассматриваемый столбец должен содержать числовые значения.

Следует отметить, что здесь поле - это поле виртуальной таблицы, в которой могут содержаться данные не только из поля базовой таблицы, но и данные, полученные путем функционального преобразования и (или) связывания символами арифметических операций значений из одного или нескольких полей. При этом выражение, определяющее поле такой таблицы, может быть сколь угодно сложным, но не должно содержать SQL-функций (вложенность SQL-функций не допускается). Однако из SQL-функций можно составлять любые выражения.

Аргументу всех функций, кроме COUNT(*), может предшествовать ключевое слово DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть исключены перед тем, как будет применяться функция.

Специальная функция COUNT(*) служит для подсчета всех без исключения записей в таблице (включая дубликаты).

1. Посчитать количество поставщиков

SELECT Count(*)AS Количество

FROM Поставщики;

Результат запроса

 

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

 

2. Выдать данные о массе творога (КодПрод=8), поставленного поставщиками, и указать количество этих поставок

SELECT Sum(КоличестовП) AS Вес, Count(КоличестовП) AS Количество

FROM Поставки

WHERE КодПрод = 8;

Результат запроса



 

3. Рассчитать ежедневную сумму продаж продуктов и вес проданных продуктов

SELECT ДатаПродажи, Sum([Количество]*[ЦенаПродажи]) AS СуммаПродажи

FROM Продажи

GROUP BY ДатаПродажи;

Результат запроса

 

Фраза GROUP BY (группировать по) инициирует перекомпоновку указанной во FROM таблицы по группам, каждая из которых имеет одинаковые значения в поле, указанном в GROUP BY. В рассматриваемом примере записи таблицы Продажи группируются так, что в одной группе содержатся все записи с датой продажи ДатаПродажи = 25.03.03, в другой с датой продажи ДатаПродажи = 02.01.04 и т.д. (см. Таблицу 3-6). Далее к каждой группе применяется фраза SELECT. Каждое выражение в этой фразе должно принимать единственное значение для группы, т.е. оно может быть либо значением поля, указанного в GROUP BY, либо арифметическим выражением, включающим это значение, либо константой, либо одной из SQL-функций, которая оперирует всеми значениями поля в группе и сводит эти значения к единственному значению (например, к сумме).

 


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


<== предыдущая лекция | следующая лекция ==>
Запросы с использованием одной таблицы. 1. Простая выборка (выбрать полную информацию о продуктах с сортировкой по алфавиту) | Вложенные подзапросы с предикатом IN
lektsii.com - Лекции.Ком - 2014-2018 год. (0.008 сек.) Главная страница Случайная страница Контакты