SQLiteでは、Sum()
関数はオプションのDISTINCT
を受け入れます グループ内の個別の値のみを追加できるキーワード。つまり、計算から重複を削除します。
したがって、たとえば10を含む3つの行がある場合、それらの行の1つだけが結果に含まれます。
構文
DISTINCT
を使用する場合の構文 キーワードは次のようになります:
Sum(DISTINCT X)
ここでX
値を追加する列の名前です。
例
Products
という次の表について考えてみます。 :
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Blue Widget 10.0 3 Red Widget 10.0 4 Green Widget 10.0 5 Widget Stick 89.75 6 Foo Cap 11.99
以下は、すべての価格の明確な合計を取得する例です。
SELECT Sum(DISTINCT Price)
FROM Products;
結果:
251.24
ここでも同じですが、今回は「明確でない」sum()
も含めます。 比較のために。
SELECT
Sum(Price),
Sum(DISTINCT Price)
FROM Products;
結果:
Sum(Price) Sum(DISTINCT Price) ---------- ------------------- 271.24 251.24
したがって、不明瞭なsum(Price)
重複に関係なく、すべての値を追加しました。ただし、sum(DISTINCT Price)
個別の値のみを追加しました。