如何让最后一行显示Oracle SQL中的聚合函数
是否可以在最后一行显示如图所示的聚合函数avg?如何让最后一行显示Oracle SQL中的聚合函数,sql,oracle,Sql,Oracle,是否可以在最后一行显示如图所示的聚合函数avg?如果该行为空,我还希望最后一行为“-----”。请注意,A列中值的数据类型是数字。(如果我做错了,我很抱歉。我是StackOverflow的新手) [如下所示]我认为union all是最简单的方法,但我建议只使用NULL值: select a, b, c from t union all select '---', 'Average', avg(c) from t; SQL不保证行的顺序,但实际上,avg()通常是最后一个。在列A中使用破折号(
如果该行为空,我还希望最后一行为“-----”。请注意,A列中值的数据类型是数字。(如果我做错了,我很抱歉。我是StackOverflow的新手)
[如下所示]
我认为
union all
是最简单的方法,但我建议只使用NULL
值:
select a, b, c
from t
union all
select '---', 'Average', avg(c)
from t;
SQL不保证行的顺序,但实际上,
avg()
通常是最后一个。在列A中使用破折号(否则是数字)是一个非常糟糕的主意。这将强制将所有数字转换为字符串。不利于格式化,也不利于现在或将来对输出进行任何进一步的计算或报告。最好将其保留为NULL。可能需要强制转换列A(如果它是数字日期类型)才能合并