我尝试构建一个适用于较大SELECT语句的CASE语句。我希望每一行都可以单独解析(使用不同的随机数),但在评估特定行内的CASE语句时,随机数是相同的,如果这有意义的话。
我已经尝试过了。
SELECT
[Player name]
,[Stake]
,[current jackpot]
,CASE
WHEN
rand() < 0.23
THEN
'Win'
WHEN
rand() BETWEEN 0.23 AND 0.89
then
'Lose'
when
rand() >= 0.89
then
'Jackpot'
else
'other'
end as [outcome]
...
但是有时候我会得到一个“其他”结果,这表明每个WHEN语句正在创建一个不同的随机数进行评估。我也不能在开头声明一个全局随机数并使用它,因为每行应该单独解决。
SELECT
中多次引用相同的随机数。这会产生差异。 - Gordon Linoff