SQL语句如何按照概率随机抽取数据? 10

比如:表aid,state当state=1时按照一个概率被抽取当state=2时按照另一个概率被抽取... 比如:表a id,state
当state=1时按照一个概率被抽取
当state=2时按照另一个概率被抽取
展开
 我来答
blademaster717
2018-05-31 · TA获得超过1456个赞
知道小有建树答主
回答量:882
采纳率:97%
帮助的人:371万
展开全部
--题目没有表达清楚,我就写个差不多的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 ……
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式