SQL Serverテーブルがあります。次のようなものです。
Id ...... Column1 ...... Column2 `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` ` 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)と言うと、すべての行の平均を含む単一の行を返すだけです。
私が必要なのは、まず列ごとにグループ化する必要があるためです。
column1 = 1であるcolumn2の平均
column1 = 2であるcolumn2の平均
列2の平均、列1 = 3
したがって、column1のそれぞれの値の平均を含む3つの行を返します。私はこれをすることに迷っています、何かヒント/助けてください?
pS:私はいくつかの関連する質問を試しましたが、どれも役に立たなかった/理解できませんでした。
これは、あなたの望むことですか?
select column1, avg(column2) from table group by column1
簡単な
select AVG(Column2) from table group by Column1
動作しませんか?
SELECT column1, AVG(column2)
FROM "Insert table name"
GROUP BY column1
SELECT Column1, AVG(Column2) FROM test GROUP BY Column1;
次のクエリは、行の平均値を計算するのに役立ちます。
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'
これは役に立ちます...
平均から次のSQLを実行します。
select column1,avg(column2) from tablename group by column1;