0
Oracle SQLの特定の行のフィールドtidから値を返そうとしていますが、私は奇妙な動作をしています。複数の行が返され、Oracle SQLの特定の行を選択しようとしています
select tid from
(select tid, rownum as rn from
(select tid from Train))
where rn=5;
、行5の値が正常に返される:
まず、私はこれを試みました。しかし、私は次の操作を実行して、1から15までROWNUMを持つ行を取るために値をランダム化しようとすると:
select tid from
(select tid, rownum as rn from
(select tid from Train))
where rn=round(dbms_random.value(1,15));
より多くの行が1つだけでなく、返されます。私は間違って何をしていますか?
'dbms_random()'が各行に対して呼び出されるだけであれば、補助変数 'aux:= round(dbms_random.value(1、15))'を使用すれば十分でしょう。 2つのソリューション間のパフォーマンスの違いについての考え方はありますか? – randombee
@randombee。 。 。よく分かりません。パフォーマンスが重要な場合は、両方の方法で試す価値があります。 –