1つのSQL SERVERリクエストで合計の平均を取得できるかどうか知りたいのですが、
次のリクエストでそれを試みましたが、うまくいきません:
SELECT t.client,
AVG(SUM(t.asset)) AS Expr1
FROM TABLE t
GROUP BY t.client
あなたの質問には少し説明が必要だと思います。 t.client
でグループ化された合計を取得する場合は、以下を使用できます。
SELECT t.client, SUM(t.asset)
FROM the-table t
GROUP BY t.client
次に、この合計の平均を取りたい場合は、次のようにします。
SELECT AVG(asset_sums)
FROM
(
SELECT t.client, SUM(t.asset) AS asset_sums
FROM the-table t
GROUP BY t.client
) as inner_query
ただし、最初のクエリのような結果が得られるため、外部クエリをグループ化することはできません。内部クエリの結果は、t.client
によって既にグループ化されています。
とてもシンプル
例として。
SELECT t.client,
SUM(t.asset)/count(t.asset) AS average
FROM TABLE t
GROUP BY t.client
「平均」では、「t.asset」の平均を取得します
クライアントの平均的な資産を取得する場合は、CTEで使用すると思います。あなたはSQL 2005以上であれば試すことができます
編集:ここでは平均的な資産の1つの結果だけが必要だと思うので、2番目のグループを削除しました
With clientsum (client,assets)
as
(
SELECT CLIENT, SUM(asset) AS assets
FROM CLIENTTABLE
GROUP BY CLIENT
)
SELECT avg(assets) AS Expr1
FROM clientsum