MySQL進行g(shù)roup by字段返回大量異常結(jié)果的問題解決
問題
看這條sql
CH2O這個字段的取值只有1,2,3,正常進行g(shù)roup by 分類累加統(tǒng)計返回結(jié)果應該是這樣:
[ { "CH2O": 2.0, "insufficient_weight": 142, "Normal_Weight": 164, "Overweight_Level_I": 154, "Overweight_Level_II": 186, "Obesity_Type_I": 173, "Obesity_Type_II": 177, "Obesity_Type_III": 114 }, { "CH2O": 3.0, "insufficient_weight": 46, "Normal_Weight": 40, "Overweight_Level_I": 76, "Overweight_Level_II": 57, "Obesity_Type_I": 110, "Obesity_Type_II": 38, "Obesity_Type_III": 149 }, { "CH2O": 1.0, "insufficient_weight": 84, "Normal_Weight": 83, "Overweight_Level_I": 60, "Overweight_Level_II": 47, "Obesity_Type_I": 68, "Obesity_Type_II": 82, "Obesity_Type_III": 61 } ]
但是我實際運行查詢到的結(jié)果是這樣:
返回的數(shù)據(jù)非常多,這不合理,經(jīng)過仔細排查發(fā)現(xiàn)了出現(xiàn)該問題的原因。
原因
這樣一看該列存儲數(shù)據(jù)值只有1,2,3為啥會group by出那么多數(shù)據(jù)呢
原來是該列的數(shù)據(jù)類型設(shè)置成了浮點型
在 MySQL 中,如果你使用浮點型字段進行 GROUP BY 操作,MySQL 會盡可能地對浮點數(shù)進行分組。但是,由于浮點數(shù)在計算機中的表示方式可能會導致精度問題,因此可能會出現(xiàn)意外的結(jié)果。
解決方案
把字段類型改成整形或者字符串
查詢結(jié)果就正常了:
到此這篇關(guān)于MySQL進行g(shù)roup by字段返回大量異常結(jié)果的問題解決的文章就介紹到這了,更多相關(guān)MySQL group by返回異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫索引order?by排序精講
我們今天說的并不是大數(shù)據(jù)下該如何優(yōu)雅的排序,如何提升排序性能的問題,我們來仔細分析說一說MySQL中的排序問題,希望可以對正在閱讀的同學們有所啟迪幫助2021-11-11mysql實用技巧之比較兩個表是否有不同數(shù)據(jù)的方法分析
這篇文章主要介紹了mysql實用技巧之比較兩個表是否有不同數(shù)據(jù)的方法,結(jié)合實例形式分析了mysql數(shù)據(jù)表比較的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2019-12-12在MySQL中同時查找兩張表中的數(shù)據(jù)的示例
這篇文章主要介紹了在MySQL中同時查找兩張表中的數(shù)據(jù)的示例,即一次查詢操作返回兩張表的結(jié)果,需要的朋友可以參考下2015-07-07安裝mysql-8.0.19-winx64遇到的問題:Can''t create directory ''xxxx\Da
這篇文章主要介紹了安裝mysql-8.0.19-winx64遇到的坑 ,Can't create directory 'xxxx\Database\',非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02MySQL5.7的sql腳本導入到MySQL5.5出錯3種解決方案
筆者需要將使用MySQL5.7數(shù)據(jù)庫的網(wǎng)站挪入winows服務器,目標服務器使用的是MySQL5.5,因為兼顧到以前的網(wǎng)站,MySQL不能升級。遇到MySQL5.7的sql腳本導入到MySQL5.5出錯,總結(jié)了3種解決方案,總有一個方案適合你。2023-06-06MySQL索引的優(yōu)化之LIKE模糊查詢功能實現(xiàn)
這篇文章主要介紹了MySQL索引的優(yōu)化之LIKE模糊查詢功能實現(xiàn),本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2025-04-04