Каждое выражение во фразе SELECT должно принимать единственное значение для группы, т.е. оно может быть либо самой колонкой, либо арифметическим выражением, включающим эту колонку, либо агрегатной функцией, которая получает в результате единственное значение для группы. Кроме того, в SELECT может быть включена константа.
Предложение HAVING. Вместе с GROUP BY может использоваться фраза HAVING, которая для групп имеет то же значение, что и фраза WHERE - для строк.
Например, запрос на выдачу списка кодов тех материалов, по которым было выполнено более чем по одной поставке, будет выглядеть следующим образом:
SELECT codmat
FROM post
GROOUP BY codmat
HAVING COUNT(*)>1;
Выражение во фразе HAVING должно принимать единственное значение для группы. Формат COUNT(*) означает подсчет всех строк таблицы.
Предложение ORDER BY. Информация, получаемая в результате реализации запроса, может быть упорядочена. Для этого используется фраза ORDER BY. Строки сортируются в соответствии со значениями столбцов, указанных в списке. В этом списке могут задаваться либо имена колонок, либо целое число, которое соответствует номеру колонки в таблице, считая слева направо. Когда колонки, по которым осуществляется упорядочение, вычисляемые или являются результатом операции UNION, то «целое» должно использоваться вместо имени колонки.
Параметр ASC/DESC означает вид сортировки (по возрастанию /по убыванию соответственно). По умолчанию принимается значение ASC.
Если в ORDER BY специфицируется список полей, то это означает упорядочение по составному ключу. Старшинство полей сортировки будет определяться порядком следования полей в списке.
Колонки, специфицированные в ORDER BY, должны быть включены в SELECT.
предыдущаяследующая