无法在MySQL中使用某些GROUP BY条件对AVG值进行ORDER BY

无法在MySQL中使用某些GROUP BY条件对AVG值进行ORDER BY,第1张

无法在MySQL中使用某些GROUP BY条件对AVG值进行ORDER BY

那是一个MySQL错误,请参阅分组查询的意外顺序,其中涉及

avg()
与-
text
列组合在一起。它仍然在MySQL
5.7.15中打开。

解决方法是,您可以将数据类型更改为例如

varchar
。如果不需要索引来加快速度,则转换也应该起作用:

SELECt cast(user_grouping as char(200)), AVG(value) AS avg_value, SUM(value) AS sum_valueFROM data_summariesGROUP BY cast(user_grouping as char(200))ORDER BY avg_value

更新:

该错误已在MySQL
5.7.17中修复

如果使用InnoDB临时表,则将查询分​​组在基于BLOB的类型的列上,并根据AVG(),VAR_POP()或STDDEV_POP()聚合函数的结果进行排序,则返回的结果将以错误的顺序返回。(缺陷号22275357,错误#79366)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存