AVG * COUNT返回浮点值

时间:2018-06-20 22:35:34

标签: mysql sql

为什么此SELECT语句返回浮点值?如何将其转换为整数?

select area.name, coalesce(((avg(recording.length)*count(recording.length))/1000/60),0)

1 个答案:

答案 0 :(得分:1)

如果avg(recording.length)*count(recording.length)的结果不是60000的倍数,则除法将得到分数。您可以使用ROUND()将其舍入到最接近的整数。

此外,由于平均值是总和除以计数,因此乘以计数只会返回总和。您可以直接使用它。

SELECT area.name, coalesce(ROUND(SUM(recording.length)/1000/60)), 0)