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

FLOATデータでのSUMの使用

    使用しているバージョンはわかりませんが、このリンク あなたが経験していることを説明します。

    リンクから:

    mysql> select * from aaa;
    +----+------------+------+
    | id | month_year | cost |
    +----+------------+------+
    |  1 | 2002-05-01 | 0.01 |
    |  2 | 2002-06-01 | 1.65 |
    |  3 | 2002-07-01 | 0.01 |
    |  4 | 2002-01-01 | 0.01 |
    +----+------------+------+
    
    mysql> select id, sum(cost) from aaa group by id;
    +----+---------------------+
    | id | sum(cost)           |
    +----+---------------------+
    |  1 | 0.00999999977648258 |
    |  2 |    1.64999997615814 |
    |  3 | 0.00999999977648258 |
    |  4 | 0.00999999977648258 |
    +----+---------------------+
    
    The SUM function changes 0.01 to 0.00999999977648258.
    

    浮動小数点数は概算値として格納されます。価格を格納する場合は、正確な値を格納する10進データ型を使用することをお勧めします。



    1. SQLServer本番DBAに関する5つの便利なヒント

    2. PostgreSQLレプリケーションスロットの使用

    3. PostgreSQLプロセスがトランザクションでアイドル状態になっているとはどういう意味ですか?

    4. sp_renameプロシージャを使用したインデックスの名前変更