以下是我创建表的方式:
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 的列,它们将查看所有为 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