功能
从BigQuery 中抽取小数据集进行验证时, 常用rand()生成随机数, 再进行排序后选取数据:
原始思路
with rnk_user as (select rand() as rnk, name, phonefrom user)select name, phonefrom rnk_userorder by rnklimit 10000
改进版
利用where条件, 但是由于rand()是随机数, 不能完全做到比例, 所以多选一部分(20%) 然后用LIMIT进行限定:
select name, phonefrom userwhere rand() < 12000/{lines of table}limit 10000
最终版
select name, phonefrom userorder by rand()limit 10000
