数据库
首页 > 数据库> > sql-rand()随机函数使用方法介绍

sql-rand()随机函数使用方法介绍

作者:互联网

1、随机取数
MySql或Hive数据库,从样本数据中随机提取数据表中的N条记录,可以使用rand()函数,结合使用order by对数据排序,用limit N取topN

select * from TableName order by rand() limit N

案例:每月信用卡支出总额超过1000美元的客户有机会赢得抽奖。假设您在2019年10月从所有符合条件的客户中随机选择100名幸运客户,您是否可以编写一个查询以返回“user_id”列表作为此次抽奖的结果?

--Task 1. Lucky Draw
select 
user_id,
substr(create_time, 1, 7)  month,
sum(amount) amount_sum
from card_exp 
where substr(create_time, 1, 7) = ’2019-10’ 
group by user_id, substr(create_time, 1, 7)
having amount_sum > 1000
order by rand()
limit 100

2、生成随机数
随机数函数: rand()
语法: rand(),rand(int seed)
返回值: double
说明:返回值是一个0到1范围内的随机数。如果指定种子seed,则会等到一个不变的随机数

--不指定种子
hive> select rand() from tabel_name;
0.5577432776034763

hive> select rand() from tabel_name;
0.6638336467363424

--指定随机数种子为1
hive> select rand(1) from tabel_name;
0.7220096548596434

hive> select rand(1) from tabel_name;
0.7220096548596434

标签:rand,name,tabel,hive,随机,随机数,sql,select
来源: https://blog.csdn.net/baidu_38432186/article/details/119296701