以下は、テーブルを作成した方法です。
CREATE TABLE #tmp
(
[Counter] int
,Per date not null
,Cam float
,CamMeg float
,Hfx float
,HfxMet float
,TorMetric float
)
以下は、後でスクリプトでテーブルを呼び出す方法です。
SELECT
((ROW_NUMBER() over(order by Per desc)-1)/@Avg)+1 as [Counter], Per,
Cam,
AVG(CamMetric) as CamMet,
HfxMe,
FROM #tmp
GROUP BY [counter] ;
DROP TABLE #tmp
以下は私が得るエラーです:
メッセージ 8120、レベル 16、状態 1、行 175 列 '#tmp.Per' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。
メッセージ 8120、レベル 16、状態 1、行 175 列 '#tmp.Per' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。
私は間違って何をしていますか?
データは次のようになります
counter --- per ---Cam --- HfxMet ---......
1 2012-02-09 3 16
1 2012-02-24 4 12
1 2012-03-04 2 15
2 2012-03-15 1 18
2 2012-03-30 6 20
2 2012-04-07 10 6
3 2012-04-28 8 3
ここで、CamMetricAvg と HfxMetric という名前の 2 つの列をさらに追加します。これらの列は、1 であるすべてのカウンターを調べてから、CamMetric と HfxMetric の値をそれぞれ取得し、平均を算出してそれぞれに配置します。次のようにします。
counter --- per ---Cam --- CamMt ---
1 2012-02-09 3 3
1 2012-02-24 4 3
1 2012-03-04 2 3
2 2012-03-15 1 5.6
2 2012-03-30 6 5.6
2 2012-04-07 10 5.6
3 2012-04-28 8 8