私は、データセット内の行ごとに乱数を生成し、英数文字に0と1の間のランダムな値をマップするcase文を持ってしようとしている簡略化した例があります。この方法でランダムな文字に近づいているのは、各ステータス文字の確率を設定できるようにするためです。MySQLのパラメータは常にNULL
SELECT
@row := RAND() as random,
case @row
when (SELECT @row) > .5 then 'A'
when (SELECT @row) > .3 then 'D'
when (SELECT @row) > .1 then 'C'
when (SELECT @row) <= .1 then 'Z'
else 'arg'
end as status
FROM
(SELECT @row := RAND()) r
しかし、これは常に私の行のための 'arg'を返し、私はこの値を見ることを期待しません。
それがないと元のクエリが動作しますなぜ私は私が解決しようとしていた問題の答えを持っているにもかかわらず、私は非常に興味があります。何が起こっているのかを素早く確認することができます。 – Daniel