* | select count_if(status>=400)*100/count(*) as "エラーログの割合"
0
* | select round(count_if(status>=400)*100/count(*),2) as "エラーログの割合"
0
* | select round(count_if(status>=400)*100.0/count(*),2) as "エラーログの割合"
* | select round(cast(count_if(status>=400)*100 as double)/count(*),2) as "エラーログの割合"
* | select round(count_if(status>=400)*1.0/count(*),5)*100 as "エラーログの割合"
99.99900000000001
count_if(status>=400)*1.0/count(*)の結果型はdoubleです。round関数を使用した後も結果はdoubleのままであり、さらに演算を行う際に小数桁の正確性を保証できなくなります。* | select round(count_if(status>=400)*100.0/count(*),3) as "エラーログの割合"
フィードバック