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) 個別の値のみを追加しました。