ГЛАВА 23. Упорядоченные и агрегатные наборы.
ГЛАВА 23. Упорядоченные и агрегатные наборы.
В этой главе мы рассмотрим синтаксис и правила задания запросов, которые выводят упорядоченные и сгруппированные наборы.
Наборы, заданные оператором SET, по умолчанию читаются в произвольном порядке. Часто, особенно при отображении данных для пользователя или при печати отчетов, вам нужен определенный вид сортировки. Ясно, что список телефонов будет более полезным, если фамилии будут находиться в алфавитном порядке. Группы чисел по продажам или тестовые результаты более понятны, если они упорядочены, сгруппированы и просуммированы. В SQL существует два предложения по заданию формирования выходных наборов.
Предложение ORDER BY используется для сортировки наборов в возрастающем или убывающем порядке по одному или большему количеству столбцов. Предложение GROUP BY может разделять набор на вложенные группы, или уровни, в соответствии со столбцами из списка SELECT и (по желанию) выполняя агрегатные вычисления на множестве числовых столбцов в границах группы.
Обсуждение сортировки
Хотя упорядочение и агрегирование являются операциями с различными результатами, на некотором уровне они взаимодействуют, когда обе используются в запросе и расположение их предложений является важным. Внутри системы они применяют некоторые общие характеристики в отношении формирования промежуточных наборов и использования индексов.
Задание порядка в предложениях сортировки
Следующая упрощенная структура синтаксиса оператора SELECT показывает позицию предложений ORDER BY и GROUP BY В спецификациях упорядочения или группирования. Оба предложения являются необязательными и оба могут присутствовать в операторе:
SELECT [FIRST m] [SKIP N] | [DISTINCT | ALL ]
{<список-столбцов>}
FROM <спецификация-таблицы>
[WHERE <условие-поиска>]
[GROUP BY <элемент-группировки> [COLLATE последовательность-сортировки]
[, <элемент-группировки> [COLLATE последовательность-сортировки ]...]
[HAVING <условие-поиска>]
[UNION [ALL] <выражение-выбора>]
[PLAN <выражение-плана>]
[ORDER BY <список-сортируемых-элементов>]
[FOR UPDATE [OF столбец [,столбец ...]] [WITH LOCK]];
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Предикаты: наборы узлов
Предикаты: наборы узлов Набор узлов (node set), как понятно из названия, представляет собой просто совокупность узлов (и может содержать только один узел). Выражение child::PLANET возвращает набор узлов, состоящий из всех элементов <PLANET>. Выражение child::PLANET/child::NAME возвращает список
Наборы узлов XPath
Наборы узлов XPath Как следует из имени, набор узлов (node set) является просто совокупностью узлов. Набор узлов может включать несколько узлов, единственный узел или быть пустым. Поскольку главная задача XPath — определять место разделов документов, постольку возвращающие
19.6.7 Упорядоченные списки
19.6.7 Упорядоченные списки Упорядоченные списки имеют такую же структуру, но элементы нумеруются:<OL><LH>Это упорядоченный список.</LH><LI>Первый элемент.<LI>Следующий элемент.</OL>Как и раньше, тег конца элемента списка (</LI>) и заголовок списка (<LH> ... </LH>)
10.10.2. Западноевропейские наборы символов
10.10.2. Западноевропейские наборы символов Западноевропейские наборы символов покрывают большинство западноевропейских языков, типа French, Spanish, Catalan, Basque, Portuguese, Italian, Albanian, Dutch, German, Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, Scottish и English.Объединения ascii (US ASCII):ascii_bin ascii_general_ci (значение по
10.10.5. Балтийские наборы символов
10.10.5. Балтийские наборы символов Балтийские наборы символов охватывают Estonian, Latvian и Lithuanian.Объединения cp1257 (Windows Baltic):cp1257_bin cp1257_general_ci (значение по умолчанию) cp1257_lithuanian_ciОбъединения latin7 (ISO 8859-13 Baltic):latin7_bin latin7_estonian_cs latin7_general_ci (значение по умолчанию)
10.10.6. Наборы символов кириллицы
10.10.6. Наборы символов кириллицы Наборы символов и объединения кириллицы для использования с Belarusian, Bulgarian, Russian и Ukrainian.Объединения cp1251 (Windows Cyrillic):cp1251_bin cp1251_bulgarian_ci cp1251_general_ci (значение по умолчанию) cp1251_general_cs cp1251_ukrainian_ciОбъединения cp866 (DOS Russian): cp866_bin cp866_general_ci (значение по
10.10.7. Азиатские наборы символов
10.10.7. Азиатские наборы символов Азиатские наборы символов, которые поддерживает пакет, включают Chinese, Japanese, Korean и Thai. Они могут быть усложнены. Например, китайские наборы должны учесть тысячи различных символов.Объединения big5 (Big5 Traditional Chinese):big5_bin big5_chinese_ci (значение по
Специальные наборы символов
Специальные наборы символов Основное правило для наборов символов то, что каждый байт (пара или тройка байтов в случае многобайтовых наборов) специально определен по стандарту его реализации. Существует четыре особых исключения - NONE, OCTETS, ASCII и UNICODE FSS. В табл. 11.1 показаны
Наборы данных
Наборы данных Запрос DML определяет логическую совокупность элементов данных, упорядоченных слева направо, из одного или более столбцов, называемую набором. Запрос может ограничивать спецификацию набора одной строкой или же набор может состоять из множества строк. В
Наборы курсора
Наборы курсора Оператор SELECT может объявлять набор, который вовсе не является выходным для клиента, но остается на сервере, чтобы работать как курсор на стороне сервера. Сам курсор является указателем; приложение дает ему указание по запросу читать по порядку строки одну
Наборы утилит
Наборы утилит IP-ToolsСайт: http://ks-soft.net/ip-tools.rus/Размер: 1,1 МбСтатус: SharewareЦена: $9Увы, господа новички, на этот раз подарочек предназначается не вам, а серьезным и продвинутым пользователям Сети. Именно для них и создан этот удобный набор, включающий аж целых 15 незаменимых для