在我的一个查询中,该AVG
函数似乎返回了一个 int。
select ..., AVG(e.employee_level)avg_level
如何让它返回浮点值?我尝试转换它,但我所有的行avg_level
仍然是整数。
在我的一个查询中,该AVG
函数似乎返回了一个 int。
select ..., AVG(e.employee_level)avg_level
如何让它返回浮点值?我尝试转换它,但我所有的行avg_level
仍然是整数。
尝试这样做:
AVG(Cast(e.employee_level as Float)) as avg_level
我还发现了这个主题,您可以在其中找到另一种方法,但我没有使用它,也不知道确切是否有效。
铸造更确定,但...AVG(1.0 * e.employee_level)...
也可以这样做,并且可以更清晰。
AVG(Cast(e.employee_level as DECIMAL(10,O))
这将在 MYSQL 中起作用,您正在使用 ANS 将值设为 0 小数,因此假设 ANS 为 945.454,这将起作用,因此 AVG(Cast(e.employee_level as DECIMAL(10,O)) 将给出 945 和 AVG(Cast( e.employee_level 作为 DECIMAL(10,1)) 将给 945.5 希望你得到答案