一种实现方式:
declare @rd int
set @rd = cast(ceiling(rand()*10) as int)
select case when @rd>=1 and @rd<=2 then 30
when @rd>=3 and @rd<=5 then 40
else 50 end
正解
一种实现方式:
SELECT TOP 1 * FROM (VALUES (30), (40), (50)) AS X(a) ORDER BY newid()
那如果占的比例值要随时修改,然后随机生成新的值,这个要怎么做?
@t-h: 将比例值存在一张表中,然后从表中SELECT
@dudu: 嗯。恕我愚昧,您上面的实现方式,那里好像没有用到比例值吧,还是说我没有看懂。呵呵
路过学习