18

私はSQLServerテーブルを持っています..それは次のようなものです:

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

したがって、Column2の平均を選択する必要がありますが、それを行う前にcolumn1でグループ化します。
つまり、Avg(Column2)と言うと、すべての行の平均を含む単一の行が返されます。

必要なのは、最初にそれらを列ごとにグループ化する必要があるためです
。column1=1の場合
のcolumn2の平均column1=2の場合
のcolumn2の平均column1=3の場合のcolumn2の平均

したがって、column1のそれぞれの値の平均で3行を返す必要があります。私はこれをするのに迷っています、何かヒント/助けてください?

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 に答える