我發現這個解決方案用於從Oracle中的表中選擇一個隨機行。實際上是以隨機的方式對行進行排序,但是您只能獲取隨機結果的第一行。Oracle的隨機行
SELECT *
FROM table
ORDER BY dbms_random.value;
我只是不明白它是如何工作的。在ORDER BY之後,它應該是用於排序的列。我看到「dbms_random.value」返回一個小於零的值。這種行爲可以被解釋,或者就像那樣?
感謝
我發現這個解決方案用於從Oracle中的表中選擇一個隨機行。實際上是以隨機的方式對行進行排序,但是您只能獲取隨機結果的第一行。Oracle的隨機行
SELECT *
FROM table
ORDER BY dbms_random.value;
我只是不明白它是如何工作的。在ORDER BY之後,它應該是用於排序的列。我看到「dbms_random.value」返回一個小於零的值。這種行爲可以被解釋,或者就像那樣?
感謝
你也可以認爲它是這樣的:
SELECT col1, col2, dbms_random.value
FROM table
ORDER BY 3
在這個例子中的數字3 =第三列
當你命令由DBMS_RANDOM.VALUE,通過表達甲骨文的訂單,而不是一個column.For每條記錄甲骨文計算一個隨機數,並通過這個號碼,然後順序。
以類似的方式,是這樣的:
select * from emp order by upper(ename);
你必須通過基於功能的順序。
天才要比解決方案 –