比较 COMPUTE 和 GROUP BY COMPUTE 和 GROUP BY 之间的区别汇总如下: GROUP BY 生成单个结果集。每个组都有一个只包含分组依据列和显示该组子聚合的聚合函数的行。选择列表只能包含分组依据列和聚合函数。 COMPUTE 生成多个结果集。一类结果集包含每个组的明细行,其中包含选择列表中的表达式。另一类结果集包含组的子聚合,或 SELECT 语句的总聚合。选择列表可包含除分组依据列或聚合函数之外的其它表达式。聚合函数在 COMPUTE 子句中指定,而不是在选择列表中。
用Group by 代替Compute 如果需要计算合计,可以使用Group by ... with Rollup / with CUBE
--COMPUTE AVG(column2) BY column1 --產生了數十個表, --每组 column1 是包含一个明细表,和一个汇总表,表结构不相同 --不知道楼主要怎么合并法? --看看这个是否你要的SELECT title =column1,column2=avg(column2),column3 FROM table group by column1,column3 with rollup
COMPUTE 和 GROUP BY 之间的区别汇总如下: GROUP BY 生成单个结果集。每个组都有一个只包含分组依据列和显示该组子聚合的聚合函数的行。选择列表只能包含分组依据列和聚合函数。
COMPUTE 生成多个结果集。一类结果集包含每个组的明细行,其中包含选择列表中的表达式。另一类结果集包含组的子聚合,或 SELECT 语句的总聚合。选择列表可包含除分组依据列或聚合函数之外的其它表达式。聚合函数在 COMPUTE 子句中指定,而不是在选择列表中。
如果需要计算合计,可以使用Group by ... with Rollup / with CUBE
--產生了數十個表,
--每组 column1 是包含一个明细表,和一个汇总表,表结构不相同
--不知道楼主要怎么合并法?
--看看这个是否你要的SELECT title =column1,column2=avg(column2),column3
FROM table
group by column1,column3 with rollup
union all
select avg(column1),column2,null column3 from YourTable
group by column2 with rollup
from table
group by column1