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

SQLite SUM

    概要 :このチュートリアルでは、SQLite SUMの使用方法を学習します すべての値の合計を計算する関数。

    SQLite SUMの紹介 機能

    SUM functionは、NULL以外の値の合計、または個別の値のみを返す集計関数です グループで。

    次の式は、SUMの構文を示しています。 機能:

    SUM([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)

    SUM 関数はALLを使用します デフォルトでは句。これは、SUMのときに、重複しているかどうかに関係なく、すべての入力値が考慮されることを意味します。 関数が計算を実行します。

    一意の合計を計算する場合 値については、DISTINCTを指定する必要があります 式で明示的に句を使用します。

    SUMの結果 入力されたすべての非NULL値が整数の場合、関数は整数です。入力値が整数でもNULL でもない場合 値、SUMの結果 関数は浮動小数点値です。

    SUMの結果 関数はNULL です その場合のみ すべての入力値はNULL です 。

    整数オーバーフローエラーが発生し、すべての入力値がNULLである場合 または整数、SUM 関数は整数オーバーフロー例外をスローします。

    SQLite SUM 関数の例

    tracksを使用します デモンストレーション用のサンプルデータベースのテーブル。

    tracks内のすべてのトラックの全長を取得するには テーブルでは、SUMを使用します 次のステートメントとして機能します:

    SELECT
       SUM(milliseconds)
    FROM
       tracks;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    SQLite SUM GROUP BYで機能する 条項

    各アルバムの全長を計算するには、SUMを使用する必要があります GROUP BYで機能する 条項。

    まず、GROUP BY 句は、アルバムごとに一連のトラックをグループ化します。次に、SUM 関数は、アルバムごとのトラックの長さの合計を計算します。

    次のステートメントは、アイデアを示しています。

    SELECT
       AlbumId,
       SUM(milliseconds)
    FROM
       tracks
    GROUP BY
       AlbumId;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    SQLite SUM 関数とINNER JOIN 条項の例

    アルバムのタイトルを出力に含めるには、tracksに参加します albumsへのテーブル INNER JOINを使用したテーブル 次のような条項:

    SELECT
       tracks.albumid,
       title, 
       SUM(milliseconds)
    FROM
       tracks
    INNER JOIN albums ON albums.albumid = tracks.albumid
    GROUP BY
       tracks.albumid, 
       title;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    SQLite SUM 関数とHAVING 条項の例

    SUMを使用できます HAVINGで機能する 指定された条件に基づいてグループをフィルタリングする句。

    たとえば、次のステートメントは、全長が1,000,000ミリ秒を超えるすべてのアルバムを取得します。

    SELECT
       tracks.albumid AlbumId,
       Title,
       SUM(milliseconds)
    FROM
       tracks
    INNER JOIN albums ON albums.albumid= tracks.albumid
    GROUP BY
       tracks.albumid, 
       title
    HAVING
    	SUM(milliseconds) > 1000000;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    このチュートリアルでは、SQLiteのSUMを紹介しました。 グループ内の値の合計を返す関数。


    1. 別のテーブルの列が更新されたときに、あるテーブルの列を更新するトリガーを作成します

    2. UDFのショープランの機能強化

    3. PDOPHPでクエリエラーを表示する方法

    4. データベースへのユーザーアクセスを制限する必要がある理由