Эта секция предназначена для получения и вывода некоторой статистической информации о полученном в результате выполнения команды SELECT множестве строк и в общем виде выглядит следующим образом:
COMPUTE
{avg | count | max | min | stdev | stdevp | var | varp | sum}
(выражение) [, и т.п.]
[BY выражение [, и т.п.] ]
Таким образом, COMPUTE осуществляет вывод строки, содержащей статистическую информацию, полученную с помощью какой-то(каких-то) из допустимых агрегационных функций, в качестве аргумента которой(которых) выступает выражение, содержащее столбцы таблицы. Эта статистическая информация генерируется либо для всего множества получаемых строк, либо для групп строк (группировка происходит в случае использования опции BY, после которой идет список имен столбцов, по которым формируются группы).
Следует отметить, что столбцы, используемые в секции COMPUTE, не могут иметь типы данных text, ntext, image. Также, в случае использования COMPUTE, необходимо применять упорядочение, производимое в секции ORDER BY. Причем список имен столбцов секции COMPUTE должен содержать только столбцы, используемые в секции ORDER BY, хотя не все столбцы, используемые в секции ORDER BY, должны содержаться в секции COMPUTE.
Примеры работы команды SELECT.
Для некоторых примеров будет использованы две таблицы: table1 и table2.
Таблица table1 создана следующим образом: