为什么这个select语句返回浮点值?如何将其转换为整数?
select area.name, coalesce(((avg(recording.length)*count(recording.length))/1000/60),0)
mgdq6dx11#
如果 avg(recording.length)*count(recording.length) 不是的倍数 60000 ,当你除法的时候,你会得到一个分数。你可以用 ROUND() 将其四舍五入为最接近的整数。此外,由于平均值是总和除以计数,因此乘以计数只返回总和。你可以直接用。
avg(recording.length)*count(recording.length)
60000
ROUND()
SELECT area.name, coalesce(ROUND(SUM(recording.length)/1000/60)), 0)
1条答案
按热度按时间mgdq6dx11#
如果
avg(recording.length)*count(recording.length)
不是的倍数60000
,当你除法的时候,你会得到一个分数。你可以用ROUND()
将其四舍五入为最接近的整数。此外,由于平均值是总和除以计数,因此乘以计数只返回总和。你可以直接用。