SQL语句如何按照概率随机抽取数据?
答案:1 悬赏:70 手机版
解决时间 2021-03-20 10:00
- 提问者网友:焚苦与心
- 2021-03-19 15:56
SQL语句如何按照概率随机抽取数据?
最佳答案
- 五星知识达人网友:鸽屿
- 2021-03-19 16:05
--题目没有表达清楚,我就写个差不多的sql给你吧。
--通过case语句来判断返回一个概率
select id,state
case state when 1 then 0.1 when 2 then 0.3 else 0.05 end as 概率
from 表a追问我想从一个表中随机抽取一定量的数据
每行数据中有个标记State
当State=3时该数据一定被抽取
当State=2时按照50%抽取
当State=1时随机抽取
请问这个该怎么写,万分感激!!追答--那可以借助随机数了。
--dbms_random.value 产生一个0~1之间的随机数,如state=2时,50%被抽到,那就只要这个数>0.5就算抽到 <0.5就未被抽到
SELECt * FROM 表A WHERe STATE=3 OR (STATE=2 AND dbms_random.value > 0.5) OR ……
--通过case语句来判断返回一个概率
select id,state
case state when 1 then 0.1 when 2 then 0.3 else 0.05 end as 概率
from 表a追问我想从一个表中随机抽取一定量的数据
每行数据中有个标记State
当State=3时该数据一定被抽取
当State=2时按照50%抽取
当State=1时随机抽取
请问这个该怎么写,万分感激!!追答--那可以借助随机数了。
--dbms_random.value 产生一个0~1之间的随机数,如state=2时,50%被抽到,那就只要这个数>0.5就算抽到 <0.5就未被抽到
SELECt * FROM 表A WHERe STATE=3 OR (STATE=2 AND dbms_random.value > 0.5) OR ……
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯