MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決
問題
看這條sql
CH2O這個(gè)字段的取值只有1,2,3,正常進(jìn)行g(shù)roup by 分類累加統(tǒng)計(jì)返回結(jié)果應(yīng)該是這樣:
[ { "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 } ]
但是我實(shí)際運(yùn)行查詢到的結(jié)果是這樣:
返回的數(shù)據(jù)非常多,這不合理,經(jīng)過仔細(xì)排查發(fā)現(xiàn)了出現(xiàn)該問題的原因。
原因
這樣一看該列存儲(chǔ)數(shù)據(jù)值只有1,2,3為啥會(huì)group by出那么多數(shù)據(jù)呢
原來是該列的數(shù)據(jù)類型設(shè)置成了浮點(diǎn)型
在 MySQL 中,如果你使用浮點(diǎn)型字段進(jìn)行 GROUP BY 操作,MySQL 會(huì)盡可能地對(duì)浮點(diǎn)數(shù)進(jìn)行分組。但是,由于浮點(diǎn)數(shù)在計(jì)算機(jī)中的表示方式可能會(huì)導(dǎo)致精度問題,因此可能會(huì)出現(xiàn)意外的結(jié)果。
解決方案
把字段類型改成整形或者字符串
查詢結(jié)果就正常了:
到此這篇關(guān)于MySQL進(jìn)行g(shù)roup by字段返回大量異常結(jié)果的問題解決的文章就介紹到這了,更多相關(guān)MySQL group by返回異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫索引order?by排序精講
我們今天說的并不是大數(shù)據(jù)下該如何優(yōu)雅的排序,如何提升排序性能的問題,我們來仔細(xì)分析說一說MySQL中的排序問題,希望可以對(duì)正在閱讀的同學(xué)們有所啟迪幫助2021-11-11Mysql中事務(wù)ACID的實(shí)現(xiàn)原理詳解
這篇文章主要給大家介紹了關(guān)于Mysql中事務(wù)ACID實(shí)現(xiàn)原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05mysql實(shí)用技巧之比較兩個(gè)表是否有不同數(shù)據(jù)的方法分析
這篇文章主要介紹了mysql實(shí)用技巧之比較兩個(gè)表是否有不同數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了mysql數(shù)據(jù)表比較的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-12-12在MySQL中同時(shí)查找兩張表中的數(shù)據(jù)的示例
這篇文章主要介紹了在MySQL中同時(shí)查找兩張表中的數(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\',非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02MySQL 使用SQL語句修改表名的實(shí)現(xiàn)
這篇文章主要介紹了MySQL 使用SQL語句修改表名的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04MySQL5.7的sql腳本導(dǎo)入到MySQL5.5出錯(cuò)3種解決方案
筆者需要將使用MySQL5.7數(shù)據(jù)庫的網(wǎng)站挪入winows服務(wù)器,目標(biāo)服務(wù)器使用的是MySQL5.5,因?yàn)榧骖櫟揭郧暗木W(wǎng)站,MySQL不能升級(jí)。遇到MySQL5.7的sql腳本導(dǎo)入到MySQL5.5出錯(cuò),總結(jié)了3種解決方案,總有一個(gè)方案適合你。2023-06-06MySQL索引的優(yōu)化之LIKE模糊查詢功能實(shí)現(xiàn)
這篇文章主要介紹了MySQL索引的優(yōu)化之LIKE模糊查詢功能實(shí)現(xiàn),本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-04