BigQuery - 圆形输出有时不是真正的圆形

时间:2018-01-22 10:33:24

标签: google-bigquery rounding

我在BigQuery上运行round命令,但输出并不总是如预期的那样圆。 此外,它并不总是与“未接地”相同的值。

例如,公共数据集查询:

SELECT year,month,day, sum(round(weight_pounds,2))as total_pounds, count(*) as cnt
FROM [bigquery-public-data:samples.natality] 
group by 1,2,3
order by 1,2,3

返回此输出:

enter image description here

有没有理由说明黄色标记值不是“完全舍入”? (如果我重新运行查询,其他值可能会出现在.XX000001或.XX99999中,但标记的值将按预期四舍五入到第二个小数。

由于

1 个答案:

答案 0 :(得分:2)

我想你需要在点之后收到四舍五入到两位数的总和。在数学上,将所有数字相加并且仅对结果进行舍入是更精确的。关于它与未接近的数字不相近的事实,你会比较什么?它应该与sum(weigth_pounds)进行比较。

感谢您需要运行以下查询:

SELECT 
  year,month,day, 
  round(sum(weight_pounds),2) as total_pounds, 
  sum (weight_pounds) as total_pounds1 ,
  count(*) as cnt
FROM [bigquery-public-data:samples.natality] 
group by 1,2,3
order by 1,2,3