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

MariaDBのSUM()関数

    MariaDBでは、SUM() 集計関数は、指定された式の合計を返します。

    また、式内のすべての異なる(一意の)値の合計を返すために使用することもできます。

    構文

    構文は次のようになります:

    SUM([DISTINCT] expr)

    サンプルデータ

    Productsというテーブルがあるとします。 次のデータを使用:

    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 SUM(ProductPrice)
    FROM Products;

    結果:

    423.19

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

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

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

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

    結果:

    78.72

    この場合、78.72は、指定されたベンダーが提供するすべての製品の合計です。

    DISTINCT キーワード

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

    例:

    SELECT SUM(DISTINCT ProductPrice)
    FROM Products;

    結果:

    397.20

    私たちのテーブルには、同じ価格の2つのアイテムが含まれています(左ドライバーと右ドライバーの価格はどちらも25.99です)。 DISTINCT キーワードを使用すると、これらの値の両方が1つとして扱われます。

    ウィンドウ関数

    OVERを使用できます SUM()を含む句 ウィンドウ関数を作成する関数。 SQL SUM()を参照してください 例として初心者向け。


    1. SQL-サーバーのIPアドレスを取得するためのクエリ

    2. MySQLでのLCASE()関数のしくみ

    3. 非正規化:いつ、なぜ、どのように

    4. LinuxからMicrosoftSQLServerにアクセスする方法は何ですか?