PyCharmのデータベース接続機能を利用し、mySQLデータベースにselect *でviewにアクセスしてデータ抽出しています。
このとき、返り値として1000程度にしかならないデータなのに、以下の例のように、もの凄く大きい値が返ってくることがあります。「返ってくることがある」と記載しているのは、同じデータベース、同じクエリーで5回中1回くらいしか発生せず、それ以外は正しい値(1000程度)で返ってきます。当然、クエリーを何回も叩く間にデータ変更をしていません(データはオフライン)。また、例1のようなものすごく大きい値ではなく、正常の値より10倍くらい大きい値で返ってくることもあります。また、発生する列は同じとは限りませんし、異常値が発生した列の中でも、正しく値を返しているデータもあります。
viewで割り算をしている関係上、0に近い値で割ることになっているのでは?と想像できるのですが、いつも起こるわけではなく、再現するデータも作成できず、原因追求に困っています。正解は難しくても、原因追求方法をご教示いただけたら大変助かります。
返ってくる値の例1
3150913154377232707909253057910314340545916254791736874265438475684899423004638913847887802006787813052873194876129411367095039723605185673167738120216770510848.00000
返ってくる値の例2
15000
正常の値
1000
mySQL
1create view view_name as 2select 番号, 3 sum(分子量 * 添加割合) / sum(添加割合) as 分子量指標, 4 sum(有機 * 添加割合) / sum(添加割合) as 有機指標, 5 sum(無機 * 添加割合) / sum(添加割合) as 無機指標 6from database as pr 7 left join database2 as mt using (名称) 8group by 番号; 9 10select * from view_name;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/22 02:46
2021/01/22 02:58
2021/01/22 03:54
2021/01/22 09:45 編集
2021/01/22 10:57