Лекция: ORDER BY позволяет упорядочивать выводимые записи в соответствии со значениями одного или нескольких выбранных столбцов.
ASC задает возрастающую (ASC) или убывающую (DESC) последовательность сортировки для каждого из столбцов. По умолчанию принята возрастающая последовательность сортировки.
AS
COUNT считает количество строк, которые вернул запрос
Функция COUNT отличается от других агрегатных функций тем, что она не выполняет математических действий над значением столбца. Она считает число значений в данном столбце, или число строк в таблице. Если необходимо подсчитать количество различных значений некоторого поля в таблице, функцию COUNT надо использовать с DISTINCT.
SUM суммирует значения данного поля;
MIN Находит минимальное значение поля.
MAX находит максимальное значение поля;
AVG находит среднее значение поля;
GROUP BY Разделяет результаты запроса в группы содержащие все строки с одинаковыми значениями, основанными на списке столбцов. (Группирует возвращенные строки основываясь на общих значениях столбцов). Используется совместно с HAVING
HAVING Используется совместно с GROUP BY. Определяет условия, которые ограничивают группировку возвращаемых строк.
UNION Комбинирует результаты двух или более таблиц, которые имеют полностью, либо частично одинаковую структуру создавая одиночную динамическую таблицу исключая повторяющиеся строки.
ORDER BY Определяет порядок сортировки строк возвращенных SELECT, по умолчанию в возрастающем порядке (ASC), или в убывающем порядке (DESC).
PLAN Определяет план запроса, который будет использоваться оптимизатором запроса вместо обычного выбора.
Тестовая база данных. Рассмотрим работу агрегатных функций на примере базы данных, состоящий из трех таблиц — «Торговый агент», «Покупатели», «Заказы».
Таблица «Торговый агент» (Salespeople) содержит следующие столбцы:
— SNUM — номер агента;
— SNAME — имя агента;
— CITY — город, где работает агента;
— COMM — комиссионные торгового агента.
Торговый агент (Salespeople)
SNUM SNAME CITY COMM
1001 Peel London 0.12
1002 Serres San Jose 0.13
1004 Motika London 0.11
1007 Rifkin Barcelona 0.15
1003 Axelrod New York 0.10
Таблица «Покупатель» (Customers) содержит следующие столбцы:
— СNUM — номер покупателя;
— СNAME — имя покупателя;
— CITY — город проживания покупателя;
— RATING — некоторый рейтинг, присвоенный покупателю;
— SNUM — номер торгового агенты, за которым закреплен покупатель;
Покупатели (Customers)
CNUM CNAME CITY RATING SNUM
2001 Hoffman London 100 1001
2002 Giovanni Rome 200 1003
2003 Liu SunJose 200 1002
2004 Grass Berlin 300 1002
2006 Clemens London 100 1001
2007 Pireira Rome 100 1004
2008 Cisneros SunJose 300 1007
Таблица «Заказы» (Orders) содержит следующие столбцы:
— ONUM — номер заказа;
— AMT — сумма заказа;
— ODATE — дата заказа;
— CNUM — номер покупателя;
— SNUM — номер торгового агента.
Заказы (Orders)
ONUM AMT ODATE CNUM SNUM
3001 18.69 10/03/1990 2008 1007
3003 767.19 10/03/1990 2001 1001
3002 1900.10 10/03/1990 2007 1004
3005 5160.45 10/03/1990 2003 1002
3006 1098.16 10/03/1990 2008 1007
3009 1713.23 10/04/1990 2002 1003
3007 75.75 10/04/1990 2004 1002
3008 4723.00 10/05/1990 2006 1001
3010 1309.95 10/06/1990 2004 1002
3011 9891.88 10/06/1990 2006 1001