sql >> データベース >  >> RDS >> MariaDB

MariaDBのAVG()関数

    MariaDBでは、AVG() 関数は、指定された式の平均値を返します。

    DISTINCT オプションを使用して、個別の値の平均を返すことができます(つまり、平均を計算する前に重複を削除します)。

    NULL 値は無視されます。

    サンプルデータ

    次のデータを含むテーブルがあるとします。

    SELECT 
        VendorId,
        ProductName,
        ProductPrice 
    FROM Products;

    結果:

    +----------+---------------------------------+--------------+
    | VendorId | ProductName                     | ProductPrice |
    +----------+---------------------------------+--------------+
    |     1001 | Left handed screwdriver         |        25.99 |
    |     1001 | Right handed screwdriver        |        25.99 |
    |     1001 | Long Weight (blue)              |        14.75 |
    |     1001 | Long Weight (green)             |        11.99 |
    |     1002 | Sledge Hammer                   |        33.49 |
    |     1003 | Chainsaw                        |       245.00 |
    |     1003 | Straw Dog Box                   |        55.99 |
    |     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
    +----------+---------------------------------+--------------+

    次のクエリを使用して、すべての価格の平均を取得できます。

    SELECT AVG(ProductPrice)
    FROM Products;

    結果:

    52.898750

    この場合、価格情報はProductPriceに保存されます 列なので、それを引数としてAVG()に渡しました。 次に、平均を計算して結果を返す関数。

    フィルタリングされた結果

    AVG() 関数は、クエリによって返された行を操作します。したがって、結果をフィルタリングすると、AVG()の結果になります。 それを反映します。

    SELECT AVG(ProductPrice)
    FROM Products
    WHERE VendorId = 1001;

    結果:

    19.680000

    この場合、19.680000は、指定されたベンダーが提供するすべての製品の平均価格です。

    DISTINCT キーワード

    DISTINCTを使用できます AVG()を含むキーワード 個別の値のみを計算します。つまり、重複する値がある場合、それらは1つの値として扱われます。

    例:

    SELECT 
        AVG(ProductPrice) AS "All",
        AVG(DISTINCT ProductPrice) AS "Distinct"
    FROM Products;

    結果:

    +-----------+-----------+
    | All       | Distinct  |
    +-----------+-----------+
    | 52.898750 | 56.742857 |
    +-----------+-----------+

    この場合、2つのアイテムの価格は同じです(左ドライバーと右ドライバーの価格はどちらも25.99です)。したがって、AVG() DISTINCTとともに使用した場合の関数 キーワードは、これらの値の両方を1つとして扱い、それに応じて結果を計算します。

    ウィンドウ関数

    AVG() 関数はウィンドウ関数で使用できます。 SQL AVG()を参照してください この例については、初心者向けです。


    1. Ubuntu16.04でのPostgreSQLデータベースの作成と削除

    2. 文字列の分割/連結方法の比較

    3. Android Studio 3.0カナリア1:SQL構文エラー

    4. SQL Server(T-SQL)でのREPLICATE()関数のしくみ