COMPUTE子句使用聚合函数生成数据的汇总值。COMPUTE和COMPUTE BY子句之间的区别在于COMPUTE不仅显示汇总的信息,还显示详细信息。生成的汇总值显示为另一行。这样在同一结果集就可以同时看到详细信息行与汇总行。COMPUTE支持使用聚合函数AVG、COUNT、MIN、MAX和SUM。
语法:Select 列名1,列名2……列名n from 表名
order by列名1
compute [by] 函数名(列名2)
实例:
a、 Use pubs
select type,price from titles
order by type
compute avg(price)
b、select type,advance from titles where type=’business’ or type=’trad_cook’
order by type
compute sum(advance) by type
注意:
a)不允许DISTINCT关键字与行聚合函数一起使用。
b)COMPUTE子句中使用的列名必须出现在语句的选择列表中。
c)同一个语句中不能同时出现SELECT INTO和COMPUTE子句,这是因为包含COMPUTE的语句是以另一
个结构生成行。
d)如果使用COMPUTE BY,就必须同时使用ORDER BY子句。列于COMPUTE BY后的列必须等同于
ORDER BY 后出现的列或是ORDER BY 后的子集。它们必须具有相同的从左到右的顺序,从同一
个表达式开始,并且不能跳过任何表达式。
语法:Select 列名1,列名2……列名n from 表名
order by列名1
compute [by] 函数名(列名2)
实例:
a、 Use pubs
select type,price from titles
order by type
compute avg(price)
b、select type,advance from titles where type=’business’ or type=’trad_cook’
order by type
compute sum(advance) by type
注意:
a)不允许DISTINCT关键字与行聚合函数一起使用。
b)COMPUTE子句中使用的列名必须出现在语句的选择列表中。
c)同一个语句中不能同时出现SELECT INTO和COMPUTE子句,这是因为包含COMPUTE的语句是以另一
个结构生成行。
d)如果使用COMPUTE BY,就必须同时使用ORDER BY子句。列于COMPUTE BY后的列必须等同于
ORDER BY 后出现的列或是ORDER BY 后的子集。它们必须具有相同的从左到右的顺序,从同一
个表达式开始,并且不能跳过任何表达式。