HOME > 即効テクニック > AccessVBA > クエリ・SQL > グループごとの平均を取得する

即効テクニック

クエリ・SQL

グループごとの平均を取得する

(Access 2000/2002)
●概要●
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
● 補足 ●
結果は[イミディエイト]ウィンドウに表示されます。