私はこのテーブルにint(11)
の列と数億の行を持っています。どのようにサイレントmysqlのsum()整数オーバーフローを扱う?
SELECT SUM(myIntColumn) as foo FROM myTable;
のようなクエリを実行すると、戻り値は意味をなさない - 単一の最大の最大値よりも小さくなります。この列の私の値は約500mくらいで、符号付きintは〜2bilを扱うことができるはずです。だから、mysqlは整数オーバーフローを経験していると思います。
どうすればよいですか?ただ問題ではおそらくいない可能性があります
その他詳細:
mysql Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (x86_64) using readline 5.2
mysqld Ver 5.0.75-0ubuntu10 for debian-linux-gnu on x86_64 ((Ubuntu))
Linux kona 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:45:36 UTC 2009 x86_64 GNU/Linux
このリンクは役立ちますか? http://stackoverflow.com/questions/323294/datatype-of-sum-result-in-mysql –
私はそれを見ましたが、その質問は、ポスターが求めていた整数/文字列の振る舞いのために、些細ではないようでした。私のMySqlは、これらの微妙なタイプを理解するのに十分な深さではありません。インタラクティブな実験が不可能な私のデータベースは非常に大きいです...私のいくつかのクエリは何時間もかかりました! –