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

SQLite Total()のしくみ

    SQLiteでは、total() 関数は、グループ内のすべてのNULL以外の値の合計を返します。

    NULL以外の値がない場合は、0.0を返します。

    この関数はsum()に似ています NULL入力を処理する方法を除いて、関数。 NULL以外の値がない場合は、sum() NULLを返します(total()のように0.0ではありません 関数が戻ります。

    次の表を検討してください。

    SELECT * FROM Products;

    結果:

    ProductId   ProductName            Price     
    ----------  ---------------------  ----------
    1           Blue Widgets (6 Pack)  389.45    
    2           Widget Holder          139.5     
    3           Widget Opener          89.27     
    4           Foobar Set             120.0     
    5           Red Widget                    

    total()を使用できます 価格の合計を取得する関数。

    SELECT total(Price) FROM Products;

    結果:

    738.22

    最後の行の価格がNULLであっても、total() 関数は、NULL以外の値をすべて追加し、NULL値を無視するため、これを処理できます。

    すべてのNULL値

    NULL以外の値がない場合、結果は0.0になります。

    SELECT total(Price) 
    FROM Products
    WHERE ProductId = 5;

    結果:

    0.0      

    ここでtotal() およびsum() 異なる。この場合、sum() NULLを返します。

    total() 関数は常に浮動小数点値を返します。

    ただし、これはSQL標準に準拠していないことに注意してください。標準準拠のコードを使用する場合は、sum()を使用してください 。

    サブセットの合計を取得

    WHEREを使用する別の例を次に示します。 テーブルのサブセットを返す句。

    SELECT total(Price) 
    FROM Products
    WHERE ProductId > 2;

    結果:

    209.27

    今回はNULL以外の値を追加しているので、NULL以外の結果が得られます。

    これは、追加しているのと同じ列でフィルタリングする別の列です。

    SELECT total(Price) 
    FROM Products
    WHERE Price < 150;

    結果:

    348.77 

    1. MySQLでタイムスタンプを日時に変換する方法は?

    2. SQLクエリでOracle連想配列を使用する方法

    3. PostgreSQLは部分インデックスを使用しません

    4. SpectralCoreを使用してSalesforceからSQLServerにデータをコピーする