●概要●
AVG関数を使用して指定したフィールドの平均を取得します。GROUP BY句と一緒にAVG関数を使用すると、グループごとの平均を取得できます。
サンプルでは「部署コード」と「部署名」でグループ化し、グループごとの「給与」の平均を取得します。
●サンプル●
'グループごとの平均を取得する
Public Sub Sample()
Dim myDB As Database
Dim myRS As DAO.Recordset
Dim mySQL As String
'SQLステートメントを定義する
mySQL = "SELECT A.部署コード,C.部署名,AVG(給与) " & _
"FROM 社員テーブル A,給与テーブル B,部署テーブル C " & _
"WHERE A.社員コード=B.社員コード " & _
"AND A.部署コード=C.部署コード " & _
"GROUP BY A.部署コード,C.部署名;"
'カレントデータベースを変数に代入する
Set myDB = CurrentDb
'SQLステートメントを実行してレコードセットを開く
Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset)
'レコードセットの内容を表示する
Do Until myRS.EOF
Debug.Print myRS(0) & " " & myRS(1) & " " & myRS(2)
myRS.MoveNext
Loop
'レコードセットを閉じる
myRS.Close
End Sub
● 補足 ●
結果は[イミディエイト]ウィンドウに表示されます。