我的網絡服務器正在運行MySQL客戶端版本5.1.56。AVG函數在不同MySQL版本中的變化?
我的devserver正在運行MySQL客戶端版本5.0.7。
該查詢給了我同樣的結果兩臺服務器上:
SELECT scenario_user_ratings.userid,
AVG(scenario_user_ratings.rating)
FROM scenario_user_ratings
GROUP BY scenario_user_ratings.userid
兩個報告結果:
userid AVG(scenario_user_ratings.rating)
1 3.3659
21 2.8000
22 3.2069
但這查詢產生不同的結果
SELECT * FROM (SELECT scenario_user_ratings.userid,
AVG(scenario_user_ratings.rating)
FROM scenario_user_ratings
GROUP BY scenario_user_ratings.userid) tabl
WHERE tabl.userid < 5
開發的MySQL V5。 0.7結果
userid AVG(scenario_user_ratings.rating)
1 0.9999 <-- average values are always this, regardless
個
網站的MySQL v5.1.56導致
userid AVG(scenario_user_ratings.rating)
1 3.3659 <-- correct
除此之外的開發環境明顯註釋應該始終與生產有人可以把如何原始查詢到另一個查詢向我解釋是的摧毀我的AVG()
值到0.99999
?我已經縮小到特定的行動範圍,並且僅限於本地版本的MySQL。
謝謝。
「DEV MySQL」和「Web MySQL」的含義是什麼? – diEcho
「rating」的數據類型是什麼? –