0

1 つのテーブルから 2 つのフィールドを読み取っています。

StartKey と Mins

下の画像は、現在の出力結果を左に、必要なものを右に示しています。 ここに画像の説明を入力

これが私のクエリです

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

を使用できることはわかっていますavg(duration)が、それを使用すると、クエリの作成と表示に使用しているソフトウェアである Obvient では、列 Mins Avg 自体の平均を取得できません。

ここに画像の説明を入力

このエラーは、CS ファイルに列の平均コードを手動で挿入し、列のプロパティを編集しようとした後に発生します。
ここに画像の説明を入力

4

2 に答える 2

2

まず、私があなたの問題を理解していることを確認させてください。

ビジネスインテリジェンスプラットフォームのように見えるObvientで何かを構築しているときに、投稿のSQLを使用しています。あなたが抱えている問題は、SQLクエリの平均の列でObvientの平均関数を実行できないことです。

それが正しければ、SQLクエリを使用してデータベースにビューを作成する必要があります。このビューは、テーブルとしてわかりやすく表示され、平均化機能を実行できる場合があります。これでObvientを使用したことがないという問題が解決するかどうかは定かではありませんが、試してみて、それがどのように機能するかをお知らせください。

于 2013-01-24T20:43:57.757 に答える
1

何かが足りないようですが、希望する結果を得るには、これでうまくいくはずです:

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

そしてSQLフィドル

上記のクエリから AVG(Mins) を取得することが目標の場合は、サブクエリを使用してそれを返すことができます。

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

フィドルは次のとおりです。

幸運を。

于 2013-01-24T19:14:17.580 に答える