18

我有一个 Sql Server 表。它是这样的:

Id ...... 第 1 列 ...... 第 2 列  
````````````````````````````````  
1 ...... 1 ...... 34  
2 ...... 1 ...... 44  
3 ...... 2 ...... 45  
4 ...... 2 ...... 36  
5 ...... 2 ...... 23  
6 ...... 3 ...... 68  
7 ...... 3 ...... 26  

所以,我需要选择 Column2 的平均值,但在此之前与 column1 分组。
我的意思是,如果我说 Avg(Column2) 它只返回一行,其中包含所有行的平均值。

我需要的是,首先我需要按列对它们进行分组:
Average of column2 where column1 = 1
Average of column2 where column1 = 2
Average of column2 where column1 = 3

所以我想要返回 3 行,其中列 1 的各个值的平均值。我在这样做时迷路了,请有任何提示/帮助吗?

ps:我尝试了几个相关的问题,但没有一个有帮助/我无法理解。

4

6 回答 6

23

这是你想要的吗?

select column1, avg(column2) from table group by column1
于 2010-06-23T10:51:36.103 回答
4

简单的

select AVG(Column2) from table group by Column1

不工作?

于 2010-06-23T10:50:56.940 回答
2
SELECT column1, AVG(column2) 
  FROM "Insert table name"
GROUP BY column1 
于 2010-06-23T10:50:56.143 回答
1
SELECT Column1, AVG(Column2) FROM test GROUP BY Column1;
于 2010-06-23T10:57:09.863 回答
0

以下查询将有助于计算 ROW 的平均值:

 select Avg(A.Tamil + A.English + A.Maths + A.Science + A.Social_Science)/5 As 
 Average
 from MarkTable A, MarkTable B, MarkTable C
 where A.RollNo='14UCA002'

这可能会有所帮助...

于 2017-07-04T12:22:09.443 回答
-1

从平均值执行以下 SQL:

select column1,avg(column2) from tablename group by column1;
于 2017-08-17T11:36:44.623 回答