为什么此SELECT语句返回浮点值?如何将其转换为整数?
select area.name, coalesce(((avg(recording.length)*count(recording.length))/1000/60),0)
答案 0 :(得分:1)
如果avg(recording.length)*count(recording.length)
的结果不是60000
的倍数,则除法将得到分数。您可以使用ROUND()
将其舍入到最接近的整数。
此外,由于平均值是总和除以计数,因此乘以计数只会返回总和。您可以直接使用它。
SELECT area.name, coalesce(ROUND(SUM(recording.length)/1000/60)), 0)