考虑以下“用户”表:
uid followers following ff_fraction
--------------------------------------
1 40 2 20
2 10 3 3
3 0 2 0
4 5 0 5
5 77 2
6 9 3
我想为每个用户计算关注者/关注者的比例,四舍五入为整数。我为前 4 个用户填写了表格:
- 40/2 = 20
- 10/3 = 3.3333 => 舍入 3
- 0/2 = 0
- 5/0 => 这会出错,所以我数了+1,使得 5/1 = 5
我现在有以下查询,但它没有说明“following”为零(因此它必须加 1 才能不得到零差错):
UPDATE users SET ff_fraction = ROUND(followers/following)
是否可以在 MySQL 查询中解决这个问题?
最佳答案
UPDATE users SET ff_fraction = ROUND(followers / GREATEST(following, 1))
GREATEST将使这个值永远不会低于 1。
关于mysql - 向查询添加 +1 以解决 "division by zero"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925170/