如果我的表有许多行,比如说数百亿行,那么select rand() from table会给出两行相同的结果吗?
发布于 2020-06-29 16:37:29
rand()函数的返回类型是double。倍的精度大约在-10^308到10^308之间.因此,rand()返回重复结果的机会几乎为零。
在150亿行蜂巢上测试了下面的查询。
select r, count(*)
from (
select rand() as r from <table name>
) as a
group by r
having count(*)>1;结果为No Rows Found。这表明rand()没有返回重复的行。
在浮点精度上查看来自Hive的链接。
https://stackoverflow.com/questions/62635643
复制相似问题