对于Obvient BI工具,需要替代SQL AVG()

时间:2013-01-24 19:07:00

标签: sql oracle

我正在阅读1张桌子中的2个字段。

StartKey和Mins

下面的图片显示了我左边的当前输出结果以及右边需要的内容。 enter image description here

这是我的查询

Select
       StartKey,
       Duration as Mins
From   TableA
Where  Flag = 0
Order by StartKey

我知道我可以使用avg(duration),但是如果我使用它,Obvient,我用来编写和显示查询的软件,将不会让我采用列Mins Avg本身的平均值。

enter image description here

我手动插入CS文件中列的平均代码然后尝试编辑列属性后得到此错误。
enter image description here

2 个答案:

答案 0 :(得分:2)

首先,让我确保理解你的问题。

您正在使用Obvient中构建内容的帖子中的SQL,这似乎是商业智能平台。您遇到的问题是您无法在SQL查询的平均列中执行Obvient中的平均功能。

如果这是正确的,您应该使用SQL查询在数据库中创建一个视图,该视图应该作为表显示为Obvient,并且可以允许您执行平均功能。我不能肯定地说这会解决你从未使用过Obvient的问题,但试一试,让我们知道它对你有用。

答案 1 :(得分:1)

似乎我错过了一些东西,但为了得到你想要的结果,这应该有效:

Select
       StartKey,
       AVG(Duration) as Mins
From   TableA
Where  Flag = 0
Group By StartKey
Order by StartKey

SQL Fiddle

如果你的目标是从上面的查询中获取AVG(Mins),你可以使用子查询返回:

Select AVG(Mins)
FROM (
   SELECT
       StartKey,
       AVG(Duration) as Mins
    From   TableA
    Group By StartKey
    ) t

以下是Fiddle

祝你好运。