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