Price FROM flat ORDER BY Room, Price DESC, 5

При выполнении данного запроса выводятся записи таблицы flat.db,в которой содержатся сведения о предлагаемых на продажу квартирах. Записи сортируются следующим образом. Вначале происходит сортировка в зависимости от количества комнат, то есть по возрастанию значений поля Room.Затем запи­си, у которых совпадает количество комнат, сортируются по убы­ванию стоимости квартиры (значения поля Price).И, наконец, записи, у которых одинакова комбинация значений полей Roomи Price,упорядочиваются по возрастанию пятого поля из списка полей в разделе SELECT.Пятым полем в списке является поле Square,которое содержит данные о площади квартиры. Резуль­тат может выглядеть примерно так, как это показано на рис. 15.2.

Агрегатные функции. В SQL-запросах предусмотрено исполь­зование так называемых агрегатных функций, которые позволяют получать некоторую общую величину, которая рассчитывается на основе всех значений набора данных или определенной группы записей. В SQL существуют следующие агрегатные функции:

COUNT (выражение) - подсчитывает число вхождений заданного выражения во все записи результирующего на­бора данных;

SUM (выражение) - определяет общую сумму значе­ний, определяемых параметром выражение;

AVG (выражение) -вычисляет среднее значение;

МАХ (выражение) - находит максимальное значение;

MIN (выражение) - определяет минимальное значе­ние

 

 

Ниже приводятся примеры создания запросов с использовани­ем агрегатных функций.

SELECT COUNT(DISTINCT Name)

FROM firm

WHERE Dolgn = 'Водитель'

В результате выполнения этого запроса выводится количество неповторяющихся и непустых значений поля Nameдля всех запи­сей таблицы firm,у которых значение поля Dolgnравно «Води­тель». Другими словами, подсчитывается количество водителей, работающих в данной фирме.

SELECT SUM(Price*Kolvo)

FROM shop

WHERE Date=ll.08.99

Результатом выполнения данного оператора является общая сумма денег, вырученная магазином за день. Она рассчитывается путем суммирования произведений значения поля Цена (Price)на значение поля Количество (Kolvo)для всех записей таблицы shop,у которых значение поля Dateравно 11.08.99.

SELECT MAX(Salary) FROM firm

Вышеприведенный запрос выводит максимальное значение поля Salaryсреди всех записей таблицы firm(т.е. определяет­ся размер максимальной заработной платы среди всех сотрудни­ков фирмы).

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

SELECT Otdel, COUNT(Tab_nom) FROM firm GROUP BY Otdel

В ряде случаев необходимо установить некоторые ограниче­ния на группируемые значения. Для этого применяется операнд HAVING.К примеру, если в предыдущем примере требуется вы­вести только те отделы, в которых количество сотрудников более 10, то это можно осуществить с помощью запроса такого вида:








Дата добавления: 2014-12-01; просмотров: 1076;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.