概要 :このチュートリアルでは、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
を紹介しました。 グループ内の値の合計を返す関数。